什麼是LocalDB 隨著SQL Server 2012的發佈,LocalDB躍入我們的視線,它可以被看做是SQL Server Express的輕量級版本。LocalDB專門為開發人員創建,它非常易於安裝,幾乎無需管理,相容T-SQL語言,編程介面與SQL Server Express別無二致。有 ...
什麼是LocalDB
隨著SQL Server 2012的發佈,LocalDB躍入我們的視線,它可以被看做是SQL Server Express的輕量級版本。LocalDB專門為開發人員創建,它非常易於安裝,幾乎無需管理,相容T-SQL語言,編程介面與SQL Server Express別無二致。有了LocalDB,開發人員就不需要在自己的筆記本上安裝和維護一個龐大的SQL Server實例了。另外,LocalDB也適用於小型應用環境,開發人員可以將其用於小型生產環境或者嵌入式環境。
為開發人員量身定製
我們在關註LocalDB的技術細節之前,首先來瞭解一下構建LocalDB的背景。一直以來,SQL Server Express滿足了我們兩方面的需求。它既是免費版的SQL Server,又具有足夠強大的功能,與其它版本相相容。當然,它的能力也存在一些限制,即它的每個資料庫的存儲容量不能超過10G。SQL Server作為一個成熟的資料庫產品,其Express版本依然具有相當的複雜度。但作為開發人員,我們更希望降低管理複雜度,專註於開發。LocalDB的開發目標由此形成,它是輕量級的SQL Server Express,為開發人員量身定製。
核心技術特性
說了這麼多,現在讓我們來看看LocalDB的核心技術特性:
1)相容其它SQL Server版本,使用sqlservr.exe作為服務進程,使用相同的客戶端訪問介面(如ADO.NET、ODBC或PDO),相容T-SQL編程語言。
2)在同一臺電腦上不必安裝多個LocalDB,不同的應用程式可以並行執行多個LocalDB進程,但所有的進程都是從同一個可執行文件(sqlservr.exe)啟動的。
3)LocalDB不會創建任何系統服務,LocalDB進程會根據需要自動啟動、停止。應用程式只需連接“Data Source=(localdb)\ MSSQLLocalDB”,LocalDB就會作為應用程式的子進程啟動。隨著連接的終止,LocalDB進程也會隨之停止。
4)LocalDB支持AttachDbFileName屬性,允許開發者指定資料庫文件位置。例如:
Data Source = (localdb)\ MSSQLLocalDB;
Integrated Security = true;
AttachDbFileName = C:\MyData\Database1.mdf
輕量級資料庫對比(LocalDB vs. SQL Express vs. Compact)
LocalDB並不能完全替代SQL Server Express,它只是對開發人員提供了另外一種選擇,並保證與SQL Server Express一致的相容性。
LocalDB與SQL Server Compact之間有很大區別:
1) 運行模式:SQL Server Compact是一個進程內(in-proc)DLL,LocalDB則作為獨立進程運行。
2)磁碟占用:SQL Server Compact的體積僅有4MB,LocalDB安裝之後則有140MB。
3) 功能特性:SQL Server Compact僅提供RDBMS的核心功能,而LocalDB則提供更豐富的功能,比如存儲過程、幾何和地理數據類型。
最後的說明
LocalDB作為一個功能豐富的輕量級資料庫,是否提供了良好的管理介面?
答案是肯定的。LocalDB提供了一個命令行管理工具SqlLocalDB.exe,我們也可以SQL Server Management Studio(SSMS)管理LocalDB,也可以使用Visual Studio 2012開發工具(及其以上版本)內部自帶的簡版SqlServer管理工具。
現在Visual Studio 2012+開發工具,安裝後都預設都安裝了LocalDB,根據VS版本不同,相應的LocalDB版本就不同。
以上內容根據下麵網址提供的內容進行了整理。
原文英文地址:
https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12/introducing-localdb-an-improved-sql-express/
原文中文地址:
http://www.csdn.net/article/2012-03-29/313675