本篇將介紹如何在macOS上安裝MS SQL Server,並使用EF Core存取
.NET 的開發人員通常都習慣使用MS SQL,但是在macOS上開發 .NET Core 無法直接安裝SQL Server,又必須使用的時候,這時候就需要使用Docker來
SQL Sever 2017 開始支援在Linux上安裝並使用,
在macOS上,我們可以透過Docker 安裝Linux的環境,並安裝SQL Server進入我們的容器當中。
首先,要先到Docker官網上下載
接著我們就要透過指令來pull image
sudo docker pull mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-18.04
接著可以透過docker image list
來查看我們所有的 image 清單
接著就要透過 docker run
來運行剛才下載的image
下面是運行的範例說明
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-18.04
密碼須符合以下規則,容器將無法設定 SQL Server:
- 長度至少為 8 個字元,最多可達 128 個字元。
- 以下四種類型至少要含三種:大寫英文字母、小寫英文字母、0~9的數字、非英數字元
- 不包含使用者的帳戶名稱,此範例就是不能包含 sa 這個字
下方為實際執行範例
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Te$tPassw0rd" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-18.04
接著輸入 docker ps -a
來查看所有容器的狀態
STATUS 是 UP 就表示容器有成功運行了
接著就開始對SQL Server進行連線吧
這邊我用的是Nacvicat作為連線的工具
首先點擊左上方的Connection並選取SQL Server
port 要填入1433,也就是我們剛才設定的port,密碼則是填入剛才設定的密碼
接著便能在管理工具中看到我們設定的連線了
接著在 EF Core的連線字串填入下方範例,即可成功連接MSSQL。(Database的部分請填入自己建立的資料庫)
Server=localhost,1433\\Catalog=tutorial_database;Database=Northwind;User=SA;Password=Te$tw0rd;
參考資料