題圖: Azure Data Studio for SQL Server
Introduction
SQL Server LocalDB(下文簡稱localdb)是SQL Server的一個超級精簡版本,只有幾十MB,所以只有非常有限的功能。在我的簡單使用過程中,它主要有兩個重要的功能缺失:
- 不支持聯網,只能本機連接
- 數據庫級別的排序規則只能是
SQL_Latin1_General_CP1_CI_AS
且無法更改。(看不懂沒關系,下文會提到)
我的建議是,它適合只想學基礎的SQL和T-SQL的同學;或用於完成只在本地運行的大作業。而對於想學好SQL Server本身的同學來說,配置服務器的網絡是非常重要的環節,無法跳過不學。
詳細介紹參考MS Docs:
Download and Install
64位系統可以使用SQL Server 2016對應的localdb,而32位系統只能用2014版。因為之后的SQL Server本身不存在32位版本了。不過如果用以下兩種方式安裝應該會被自動解決。以下安裝方式二選一:
獨立安裝包:通過SQL Server的Web安裝程序下載。進入官網:SQL Server 下載 | Microsoft下載Express版本的安裝程序。運行后選擇“下載介質”,選擇LocalDB,下好了以后安裝就是。

第二種方法,通過VS Installer安裝:如果選了.NET負載,直接在里面勾上就行;如果沒有,選到單個組件,勾上localdb,會自動勾上下一項那個依賴。

Interface
這一部分其實和localdb沒有關系,也和SQL Server實例沒有關系。介紹的所有軟件也可以用於連接普通的SQL Server及連到別的服務器上。不過因為是面向入門,還是說一說。
以下軟件安裝一個或多個:
- SSMS:最傳統的管理工具,功能最多但只支持Windows;直接下預覽版就行,大小是穩定版的一半。下載 SQL Server Management Studio (SSMS)
- VS Code+MSSQL擴展:跨平台,功能較為簡陋。不過對於本來就用VSC的人來說會很熟悉
- Azure Data Studio:在VSC基礎界面上開發的,相比而言對數據庫的操作特別優化,跨平台,但目前只有英文。下載並安裝 Azure Data Studio
- VS+SSDT:VS Installer工作負載點上“數據儲存和處理”,只留“SQL Server Data Tools”
- sqlcmd:傳統的命令行連接工具,敢用CLI的應該不用我教吧
- mssql-cli:基於python的“智能”命令行工具,在GitHub上開源,但有一段時間沒有commit了,不知道會不會砍掉。dbcli/mssql-cli
- 其它第三方軟件,我知道的有一個dbforge
如果你不確定選哪個,就選SSMS。
操作localdb實例只能使用SqlLocalDB.exe,16版在C:\Program Files\Microsoft SQL Server\130\Tools\Binn
下。 如果你看不懂這句話在說什么,就不用管。
Connect
連接數據庫一般需要提供地址、用戶名、密碼;而SQL Server提供“Windows集成驗證”的登陸方式,可以不用輸用戶名和密碼,第一次登陸需要選這個。
重點是地址,需要填:(localdb)\MSSQLLocalDB
。
這樣大部分軟件就可以連接成功了,但我還要說其中兩個軟件使用的關鍵點:
- 對於VSC,新建一個文件,語言改成SQL。按F1輸入connect。到驗證方式時選Integrated
- 對於SSDT,打開VS,最上方“視圖”中點開SQL Server對象管理器;也可以觀看官方視頻教程(不要問我為什么打不開):How to use SQL Server Data Tools in Visual Studio 2017
Collation
前文第二點缺點已經提到了,導致的最直接的結果就是直接新建數據庫會存不了中文。
解決辦法是對於每一個數據庫手動指定排序規則:
create/alter database DBName
COLLATE Chinese_PRC_CI_AS
SQL Tutorial
不存在的。
出處:https://zhuanlan.zhihu.com/p/53088056
=======================================================================================
LocalDB介紹
LocalDb是SqlServer Express版本的輕量級版本,用於植入到visual studio應用程序中去。
調試程序沒有安裝 sql server時,可以使用localdb.這是一個簡易的sql server數據庫,用於本地測試是很方便,省去安裝SQL SERVER的工作。
LocalDB數據庫實例查找
安裝好LocalDB后,默認有個實例名注意vs2015前默認實例名“v11.0”,之后為“mssqllocaldb”
查看LocalDB實例存放的位置%Localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances
,其下的每個文件加都是一個LocalDB實例,
如mssqllocaldb文件夾下主要包含:系統數據文檔(master、model、msdb、tempdb)、錯誤記錄、記錄追蹤、加密密鑰等
注意這里不包含用戶數據庫
用戶數據可以放在任意位置,如果在創建時為指定路徑默認創建在%userprofile%
目錄下
連接LocalDB
LocalDB連接的服務器名稱為(localdb)\實例名稱
,可以使用sql server的“windows 身份驗證”連接服務。
在.net網站下設置web.config的connectionstring可為:
Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\EShop.mdf;Integrated Security=SSPI;"
注意最好指明AttachDbFilename,如果指明Initial Catalog(數據庫名稱)則創建的數據庫在%userprofile%
目錄下增加麻煩
管理LocalDB
通過SqlLocalDB.exe管理LocalDB;可以在cmd下通過where sqllocaldb.exe
搜索路徑
命令 | 作用 |
---|---|
sqllocaldb.exe start 實例名 | 啟動數據庫實例 |
sqllocaldb.exe info 實例名 | 查詢數據庫實例信息 |
sqllocaldb.exe stop 實例名 | 關閉數據庫實例 |
sqllocaldb.exe create 實例名 | 創建數據庫實例 |
sqllocaldb.exe info | 列出所有數據庫實例 |
sqllocaldb.exe delete 實例名 | 刪除數據庫實例 |
出處:https://www.cnblogs.com/LoveTomato/p/9838210.html
=======================================================================================
LocalDB的介紹
關於LocalDB的介紹
類似於sqlite (但是sqlite是不支持存儲過程的,而LocalDB則支持存儲過程)
導讀:LocalDB是SQL Server 2012帶來的新特性,它是一個專門為開發人員量身定制的輕量級數據庫。本文將為您講解LocalDB的開發背景,展示其核心特性,並看看它與微軟的其它輕量級數據庫到底有何不同。
什么是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的核心技術特性:
- 兼容其它SQL Server版本,使用sqlservr.exe作為服務進程,使用相同的客戶端訪問接口(如ADO.NET、ODBC或PDO),兼容T-SQL編程語言。
- 在同一台計算機上不必安裝多個LocalDB,不同的應用程序可以並行執行多個LocalDB進程,但所有的進程都是從同一個可執行文件(sqlservr.exe)啟動的。
- LocalDB不會創建任何系統服務,LocalDB進程會根據需要自動啟動、停止。應用程序只需連接“Data Source=(localdb)\v11.0”,LocalDB就會作為應用程序的子進程啟動。隨着連接的終止,LocalDB進程也會隨之停止。
- LocalDB支持AttachDbFileName屬性,允許開發者指定數據庫文件位置。例如:
- Data Source = (localdb)\v11.0;
- 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之間有很大區別:
運行模式:SQL Server Compact是一個進程內(in-proc)DLL,LocalDB則作為獨立進程運行。
磁盤占用:SQL Server Compact的體積僅有4MB,LocalDB安裝之后則有140MB。
功能特性:SQL Server Compact僅提供RDBMS的核心功能,而LocalDB則提供更豐富的功能,比如存儲過程、幾何和地理數據類型。
最后的思考
LocalDB作為一個功能豐富的輕量級數據庫,絕對值得我們去嘗試。接下來,我們也許會思考,LocalDB是否提供了良好的管理接口?答案是肯定的。
LocalDB提供了一個命令行管理工具SqlLocalDB.exe。下次,就讓我們一起來探討如何使用命令行實用工具SqlLocalDB.exe和SQL Server Management Studio(SSMS)管理LocalDB。(張志平/編譯)
原文鏈接:Introducing LocalDB, an improved SQL Express
下載鏈接:SQL Server 2012 Express & LocalDB
LocalDB並不是要取代SQL快捷版,而是要讓開發者能夠花費最少的精力來開發應用程序。微軟會繼續為用戶提供免費的SQL Server快捷版,他們可以在上面運行小型的評估項目,數據庫大小的限制為10GB。
Sql Server Management Studio(SSMS) 連接 LocalDB的方法
如果實例沒啟動,在CMD中輸入
sqllocaldb s #啟動實例
默認使用 Windows身份認證 登錄
出處:https://blog.csdn.net/carcarrot/article/details/107020427
=======================================================================================