Contents

LocalDB 開發程式使用的資料庫

最近開始碰 SQL Server,我朋友推薦安裝 SQL Server Express,但要執行 SQL Server Express 在電腦資源這也不是我很想要的事情。我有看到開發用的 LocalDB ,這邊根本機 SQL Server 不會衝突,我朋友沒用過,可能也會擔心相容性問題,這邊我當勇者試試。 看網路上也沒有人提到相容性不好,所底應該可以用。

網路相關文章

這邊推薦看保哥文章。

安裝 LocalDB

點擊下圖紅色按鈕。

https://i.imgur.com/ECPScTA.png

https://i.imgur.com/OxXnqzE.png

看語言需不需要調整,再點選下載。

https://i.imgur.com/3id0T5L.png

去下載目錄Downloads\zh-TW\SqlLocalDB.msi執行安裝。

這邊就不截圖,一直下一步就完成。

建立 LocalDB

正常預設會建立 MSSQLLocalDBSQL Server Express LocalDB - SQL Server | Microsoft Learn

這邊假如你要手動建立的話

1
SqlLocalDB.exe create newLocalDB

可以參考: SQL Server 2012 Express LocalDB (SqlLocalDB) 深入剖析 | The Will Will Web

設定連線

appseting.json

1
2
3
  "ConnectionStrings": {
    "XXXDBConnection": "server=(localdb)\\MSSQLLocalDB;database=XXXDB;Trusted_Connection=true;MultipleActiveResultSets=True"
  },

參考:.NET Core第10天_搭配EF Core串聯資料庫Db First_使用EntityFramework執行檢視的MVC控制器 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

Trusted_Connection=True
信任目前登入帳號登入資料庫。

MultipleActiveResultSets=true
允許在單一次DB連線中可執行多個批次作業。

就這麼簡單。

資料庫連線

可以用 Management Studio 和 Visual Studio 去做控制。 LinqPad 也可以用。

https://i.imgur.com/h4kqyIB.png

連線方法也大同小異。(localdb)\MSSQLLocalDB這段就可以搞定, Window 驗證就可以了。大致這麼簡單。

要怎麼額外建立 LocalDB 這邊就先不深入探討,可以看保哥教學,這邊就先不深入。

連結:SQL Server 2012 Express LocalDB (SqlLocalDB) 深入剖析 | The Will Will Web

限制

  • LocalDB 的執行個體定序設定為 SQL_Latin1_General_CP1_CI_AS,無法變更。

    • 但支援資料庫層級、資料行層級和運算式層級定序。
      也就是說,你只要在建立資料庫時指定其定序即可,或是掛載其他資料庫系統移過來的資料庫檔案,或還原自其他資料庫的備份檔也都不會有問題。
    • 自主資料庫遵循自主資料庫定序所定義的中繼資料和 tempdb 定序規則。
  • LocalDB 不得為合併式複寫訂閱者。

  • LocalDB 不支援 FILESTREAM。

  • LocalDB 針對 Service Broker 只允許本機佇列。

參考: SQL Server 2012 Express LocalDB 與其他 SQL Server 版本的比較| The Will Will Web

感覺大部分沒影響可以用 LocalDB 在開發環境開發。

彩蛋

ef disable create table