SQL Server LocalDB 入門


題圖: 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屬性,允許開發者指定數據庫文件位置。例如:
  1. Data Source = (localdb)\v11.0; 
  2. Integrated Security = true; 
  3. 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

=======================================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM