早期的 SQL Server Express LocalDB 還蠻簡單的,隨便搜尋就可以下載的到,但是這幾年微軟的組織發展太快,網站的結構也有大幅異動,許多以前可以下載到的連結現在也都失效。不單單失效而已,我光是想要下載最新版 LocalDB 都要花上好幾分鐘才能找到連結。
專案需求
因為最近要幫客戶部署一個網站與資料庫到測試環境,而客戶提供的 SQL Server 資料庫使用 v14
版本,而我本機 LocalDB 的版本卻只有 v13
而已,因此無法還原資料庫。
我相信有許多人並不清楚 v13
, v14
與 v15
的意思,這裡建議可以參考以下網址查詢 RTM 版本與 SQL Server 產品名稱的對應關係:
簡言之,v13
就是 SQL Server 2016,而 v14
就是 SQL Server 2017,而 v15
就是 SQL Server 2019!
如果你用 SSMS (SQL Server Management Studio) 連接 SQL LocalDB 的話,也可以很容易從伺服器連接得知目前 SQL Server 版本,如下圖示:
下載 SQL Server 本地資料庫 (LocalDB)
我想大家都一樣,下載 LocalDB 的第一步,就是上網搜尋這個關鍵字:SQL LocalDB Download
但是在網路上最容易找到的版本為 Microsoft® SQL Server® 2012 Express,這是最早期的版本,這可是 v11
啊,完全不能用!
除此之外,你找到的就是 SQL Server Express LocalDB - SQL Server | Microsoft Docs 這份官方文件,而且提供的下載連結是錯誤的,他會自動幫你轉向到 SQL Server 的產品官網,即便你點擊 立即試用 到下載頁面,也完全找不到 LocalDB 的下載選項,這點真的是有點困擾!
這裡有個重要的觀念一定要跟大家分享,那就是我們常用的 LocalDB 其實是 SQL Server Express 產品的一部份,如果你要安裝最新版的 SQL Server LocalDB,那就要下載 SQL Server Express 的安裝檔。這個安裝檔其實很小,只有 5.07MB
而已,下載後的檔名是 SQLServer2017-SSEI-Expr.exe
!
執行安裝程式後的畫面如下:
接著請點選 LocalDB (46 MB) 封裝、選取下載位置,然後按下 下載 按鈕
下載成功後按下 開啟資料夾 按鈕
接著只要執行已下載的 SqlLocalDB.msi
安裝檔,即可將最新版 SQL LocalDB 安裝完成!
如何將現有執行個體升級
即便你安裝好新版的 SQL Server LocalDB,你現有的 SQL LocalDB 執行個體並不會自動升級,他還是執行舊版的 SQL Server 版本,因此你有兩個選項:
-
保留舊的 LocalDB 執行個體,建立一個全新的執行個體
假設新的執行個體名稱為 MSSQLLocalDBV14
,你只要輸入以下命令即可建立:
sqllocaldb create MSSQLLocalDBV14
-
停止並刪除現有 MSSQLLocalDB
執行個體,並重建 MSSQLLocalDB
執行個體
你可以先列出現有的 LocalDB 執行個體清單:
sqllocaldb info
透過輸入以下命令來進行 LocalDB 重建:
sqllocaldb stop MSSQLLocalDB
sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB
重建的過程並不會移除資料庫檔案,但是在重建之後資料庫要自行 Attach 回去,預設資料庫檔案都會放在 %USERPROFILE%
使用者 Home 目錄下。重建後 Attach 資料庫的 T-SQL 指令碼如下範例:
USE [master]
GO
CREATE DATABASE [SampleDB] ON
( FILENAME = N'C:\Users\User\SampleDB.mdf' ),
( FILENAME = N'C:\Users\User\SampleDB_log.ldf' )
FOR ATTACH
GO
關於 SQL LocalDB 的各種別名
微軟家大業大,一直改名就不說了,主要是同樣一個產品有好多種版本編號,光是一個 SQL LocalDB 就有很多種說法。
- 不含版本號的寫法
- LocalDB
- SQL LocalDB
- MSSQLLocalDB
- SQL Server LocalDB
- SQL Server Express LocalDB
- 包含版本號的寫法
- SQL LocalDB v11 (SQL Server 2012 Express LocalDB)
- SQL LocalDB v12 (SQL Server 2014 Express LocalDB)
- SQL LocalDB v13 (SQL Server 2016 Express LocalDB)
- SQL LocalDB v14 (SQL Server 2017 Express LocalDB)
- SQL LocalDB v15 (SQL Server 2019 Express LocalDB)
- SQL LocalDB v16 (SQL Server 2022 Express LocalDB)
- SQL Server 2012 LocalDB
- SQL Server 2014 LocalDB
- SQL Server 2016 LocalDB
- SQL Server 2017 LocalDB
- SQL Server 2019 LocalDB
- SQL Server 2022 LocalDB
相關連結