微軟最新推出的 SQL Server 2012 Express LocalDB 是一種 SQL Server Express 的運行模式,特別適合用在開發環境使用,也內置在 Visual Studio 2012 之中。sql
關於 SQL Server 2012 Express LocalDB 的運做方式數據庫
在安裝 LocalDB 時會複製一個 SQL Server Express 實例所需的最少文件,基本上 LocalDB 幾乎等同於完整的 SQL Server Express 數據庫引擎,且 LocalDB 方式啓動的 SQL Server Database Engine 實例與 SQL Server Express 具備相同的限制 (由於跟 SQL Server Express 共享相同的文件),但 LocalDB 因爲簡化了管理,因此比 SQL Server Express 還多了一些限制,不過這些限制一般不影響開發。相對舊版的 SQL Server 2008 Express 來講,二者有些差別性,比較以下:express
SQL Server 2012 Express LocalDB 區分兩種實例類型,分別爲:服務器
LocalDB 自動實例是公用的。工具
瞭解 SQL Server 2012 Express LocalDB 實例的數據庫文件所在路徑測試
在安裝好 SQL Server 2012 Express LocalDB 以後,默認會有個實例名爲 v11.0,該實例的相關文件所在目錄一般位於如下目錄 ( 請將 <user> 替換成你的登錄帳號 )加密
C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances.net
或用 %LOCALAPPDATA% 環境變量進入該目錄比較方便:3d
%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instancesblog
如下是顯示該目錄的圖標,這裏會列出全部 LocalDB 的實例:
在此目錄 ( v11.0 ) 下所看到的文件都是實例的相關文件,系統數據庫文件、錯誤紀錄、紀錄追蹤、加密密鑰、…等等,不過若你在 LocalDB 實例中創建用戶數據庫時,必需要明確指定其數據文件與記錄文件的路徑,不然默認全部創建的數據庫都會位於 %USERPROFILE% 目錄下 ( C:\Users\<username> )
創建 SQL Server 2012 Express LocalDB 具名實例
你能夠想象一下,一個 SQL 數據庫實例就如同一臺完整的 SQL Server 數據庫服務器,在一個實例裏面會有本身的系統數據庫 (master, msdb, model, temp),就跟咱們通常在使用 SQL Server 沒有什麼兩樣,當你創建額外的 LocalDB 實例的話,這些系統數據庫就會跟另外一個具名實例徹底獨立開來,彼此徹底互不影響。
就開發的角度來講,你甚至能夠在開發測試的環境裏創建一套跟客戶端正式主機徹底相同的數據庫環境,光是這一點就與以往的 SQL Server Express 區別巨大,也是新版 LocalDB 真正厲害的地方!
在創建新的 LocalDB 實例以前,必須先了解 SqlLocalDB.exe 工具程序的路徑,請參考如下路徑:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe
如下是創建 LocalDB 實例的指令,其中 「LocalDbTest」 是你能夠自行命名的實例名稱:
SqlLocalDB.exe create LocalDbTest
接着咱們經過命令列出全部 LocalDB 已經創建的全部實例,並查看特定實例的相關信息:
SqlLocalDB.exe info SqlLocalDB.exe info Projects
接着咱們在看看文章以前介紹過的實體文件路徑,你將會發現多了一個目錄,咱們用 %LOCALAPPDATA% 環境變量進入該目錄看看:
%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances
進入該目錄就會看到如同 SQL Server 完整版同樣有這些系統數據庫文件、錯誤紀錄、紀錄追蹤、加密密鑰、…等等,以下圖示:
SQL Server 2012 Express LocalDB 與其餘 SQL Server 版本的比較
在 SQL Server 2012 問世以前,SQL Server 依據不一樣的運行環境各有推出不一樣的版本,在運行上也有不一樣的限制,例如:
而 SQL Server 2012 Express LocalDB 又是甚麼樣的一個定位呢?從數據庫系統複雜度加以從新排序過以下:
因爲 SQL Server 2012 Express LocalDB 跟前版的 SQL Server 2008 R2 Express 很像,其中的限制有:
但支持數據庫層級、數據行層級和表達式層級定序。
也就是說,你只要在創建數據庫時指定其排序規則便可,或是掛載其餘數據庫系統移過來的數據庫文件,或還原自其餘數據庫的備份文件也都不會有問題。
自主數據庫遵循自主數據庫定序所定義的元數據和 tempdb 定序規則。
相關連接