Microsoft SQL Server
設定本機 SQL Server 資料庫
概觀
在本指南中,我們將討論如何安裝和設定 SQL Server 執行個體 和 sqlcmd
命令列用戶端。我們將逐步說明如何在您的電腦上安裝和設定這些元件以進行本機存取。
本指南將涵蓋以下平台
導覽至與您將使用的平台相符的章節。
在 Windows 上設定 SQL Server
Microsoft 在其網站上為 SQL Server 提供原生 Windows 安裝程式,並提供適用於不同用途的各種 SQL Server 版本。在本指南中,我們將下載並安裝免費的開發人員版本。如果您想將開發人員版本用於生產環境,您可以輕鬆升級到付費版本。
首先,請造訪 Microsoft 的 SQL Server 頁面。找到與開發人員版本相關的章節,然後按一下立即下載
下載完成後,按兩下該檔案以執行安裝程式(您可能必須確認您是否希望允許該程式變更您的電腦)。
在安裝程式的初始畫面中,系統會要求您選擇要執行的安裝類型
選擇基本以繼續使用最常用選項的傳統安裝。
接下來,系統會要求您同意開發人員版本的授權條款
當您閱讀授權條款並同意條款後,按一下接受以繼續。
接下來,確認或變更安裝位置
準備就緒後,按一下安裝以開始安裝程序。
安裝程式將開始下載和安裝元件,以在您的電腦上設定 SQL Server
安裝完成後,將會出現一個畫面,註明目前的安裝屬性
若要立即連線到新的 SQL Server 執行個體,請按一下底部的立即連線。
新的 Cmd
視窗將會出現,並使用 sqlcmd
用戶端自動登入 SQL Server 執行個體
如視窗頂部的註解所示,您可以隨時使用 sqlcmd
用戶端手動連線到 SQL Server,方法是輸入
sqlcmd -S <yourhostname> -E
若要結束目前的 SQL 工作階段,請輸入
EXIT
如果您將 Prisma Client 與 SQL Server 搭配使用,您可以使用 SQL Server 連接器 來連線、對應您的模型並管理您的資料。
您也可以查看我們的指南,了解如何在 新專案 或 現有專案 中將 Prisma 與 Microsoft SQL Server 搭配使用。
在 macOS 上設定 SQL Server
雖然 Microsoft 沒有為 macOS 提供原生安裝程式,但他們確實支援透過 Docker 在 macOS 上執行 SQL Server。主要的 SQL Server Docker 容器 是使用 Linux 容器建置的,允許任何能夠執行 Docker 容器的主機執行資料庫伺服器。
您至少需要 2 GB 的記憶體(可能至少多一點)才能成功執行映像檔,但 Docker 本身至少需要 4 GB 的記憶體。
首先,請確保您的系統上已安裝 Docker。適用於 Mac 的 Docker Desktop 包含 Docker Engine 和其他相關應用程式。如果您尚未安裝 Docker,請按照上方連結中包含的指示進行。
一旦 Docker 啟動並執行,您就可以從 Microsoft Container Registry 提取 SQL Server Docker 映像檔,方法是輸入
docker pull mcr.microsoft.com/mssql/server:2019-latest
這會將所有必要的映像檔層下載到您的本機系統,從而加快啟動速度。
當您準備好啟動容器時,請輸入以下命令。
請記住將 <password>
替換為您預期的密碼值,並選擇符合映像檔密碼原則的值。在撰寫本文時,該原則定義為:「密碼長度必須至少為 8 個字元,且包含來自以下四組字元中至少三組的字元:大寫字母、小寫字母、十進位數字和符號。」
docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
SQL Server 容器將在背景啟動。顯示的字元串是新容器的 ID。
您可以透過輸入以下內容來驗證容器是否已啟動並執行
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
您應該會在清單中看到 mssql
容器。如果容器未執行或您遇到問題,您可以嘗試檢視其日誌,看看是否有任何有用的訊息
docker logs mssql
SQL Server 容器不僅安裝了資料庫伺服器,還提供了一些常用的工具,包括 sqlcmd
命令列用戶端。若要使用此用戶端連線到資料庫執行個體,您可以使用 docker exec
來存取命令並針對資料庫進行驗證
docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
您將通過身份驗證連線到容器內的 SQL Server,並進入 SQL Shell。您可以輸入以下內容來驗證一切是否都已啟動並執行
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>(1 rows affected)
若要結束 SQL 工作階段並返回正常 Shell,請輸入
EXIT
若要在完成時關閉 SQL Server 容器,您可以輸入以下內容來停止它
docker stop mssql
若要移除容器執行個體(包括內部的所有資料!),請輸入
docker rm mssql
若要持久化 SQL Server 容器中的資料,您可以使用 Microsoft 文件中描述的技術之一,或查看 Docker 自己關於將資料卷與容器搭配使用的文件。
如果您將 Prisma Client 與 SQL Server 搭配使用,您可以使用 SQL Server 連接器 來連線、對應您的模型並管理您的資料。
您也可以查看我們的指南,了解如何在 新專案 或 現有專案 中將 Prisma 與 Microsoft SQL Server 搭配使用。
在 Linux 上設定 SQL Server
安裝方法因您使用的 Linux 發行版而異。請依照以下與您的 Linux 發行版相符的章節進行操作。如果您偏好該組態或想使用未列出的發行版,也有使用 Docker 的指示。
Ubuntu
在 Ubuntu 20.04 上安裝 SQL Server 最簡單的方法是從 Microsoft 提供的專用儲存庫安裝。您的機器必須至少有 2 GB 的記憶體才能成功安裝和執行必要的軟體。
首先,透過輸入以下內容將新的儲存庫定義新增至您的系統
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
您還需要新增一個單獨的儲存庫才能存取 sqlcmd
二進位檔和其他工具
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
接下來,將 Microsoft 套件簽署金鑰新增至 apt
,使其信任新儲存庫中的套件
wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
設定儲存庫後,您可以透過輸入以下內容來安裝 SQL Server 和 sqlcmd
命令列用戶端
sudo apt install mssql-server mssql-tools unixodbc-dev
安裝完成後,您需要設定新的資料庫執行個體。若要執行此操作,請執行隨附的 mssql-conf setup
指令碼,以設定新系統的一些基本屬性
sudo /opt/mssql/bin/mssql-conf setup
系統會詢問您一系列問題,以便設定資料庫伺服器。
首先,它會詢問您要使用的 SQL Server 版本
Choose an edition of SQL Server:1) Evaluation (free, no production use rights, 180-day limit)2) Developer (free, no production use rights)3) Express (free)4) Web (PAID)5) Standard (PAID)6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
如果您有付費授權,您可以選擇適當的版本。如果您在非生產環境中使用伺服器,則選擇開發人員版本是安全的。
接下來,您必須再次接受授權條款
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
最後,您必須設定並確認 SQL Server 系統管理員帳戶(在許多地方稱為 SA 帳戶)的密碼
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
若要使用 sqlcmd
用戶端連線到您的 SQL Server 執行個體,最簡單的方法是將 mssql-tools
二進位目錄新增至您的 PATH
。若要設定此項,請輸入
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
之後,重新來源上述兩個檔案之一,以評估目前工作階段的新 PATH
source ~/.bashrc
您現在可以透過輸入以下內容來連線到您的資料庫執行個體
sqlcmd -U SA -S 127.0.0.1
系統會提示您輸入先前設定的密碼。成功通過身份驗證後,您將進入 SQL Shell。從這裡,您可以透過列印伺服器的版本來驗證一切是否正常運作
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>(1 rows affected)
若要結束 SQL Shell 並返回命令列,您可以輸入
EXIT
如果您將 Prisma Client 與 SQL Server 搭配使用,您可以使用 SQL Server 連接器 來連線、對應您的模型並管理您的資料。
您也可以查看我們的指南,了解如何在 新專案 或 現有專案 中將 Prisma 與 Microsoft SQL Server 搭配使用。
CentOS 和 Red Hat
在 CentOS 或 Red Hat 上安裝 SQL Server 最簡單的方法是使用 Microsoft 提供的儲存庫。Linux 主機必須至少有 2 GB 的記憶體才能安裝和執行 SQL Server。
在安裝 SQL Server 之前,您需要安裝和設定其相依性。我們需要 Python 2 和 OpenSSL 10 才能繼續
sudo yum install python2 compat-openssl10
安裝 Python 2 後,設定系統使用它作為預設 Python 執行個體
sudo alternatives --config python
從隨後的清單中,選取與 Python 2 安裝相關聯的數字。在下面的範例中,這將是選項 2
There are 2 programs which provide 'python'.Selection Command-----------------------------------------------*+ 1 /usr/libexec/no-python2 /usr/bin/python2Enter to keep the current selection[+], or type selection number: 2
完成相依性設定後,您現在可以設定 SQL Server YUM 儲存庫
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo
之後,您需要設定一個額外的儲存庫才能存取 sqlcmd
和其他工具
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo
設定儲存庫後,透過輸入以下內容來安裝 SQL Server
sudo yum install mssql-server mssql-tools unixODBC-devel
安裝完成後,您需要設定新的資料庫執行個體。若要執行此操作,請執行隨附的 mssql-conf setup
指令碼,以設定新系統的一些基本屬性
sudo /opt/mssql/bin/mssql-conf setup
系統會詢問您一系列問題,以便設定資料庫伺服器。
首先,它會詢問您要使用的 SQL Server 版本
Choose an edition of SQL Server:1) Evaluation (free, no production use rights, 180-day limit)2) Developer (free, no production use rights)3) Express (free)4) Web (PAID)5) Standard (PAID)6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
如果您有付費授權,您可以選擇適當的版本。如果您在非生產環境中使用伺服器,則選擇開發人員版本是安全的。
接下來,您必須再次接受授權條款
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
最後,您必須設定並確認 SQL Server 系統管理員帳戶(在許多地方稱為 SA 帳戶)的密碼
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
若要使用 sqlcmd
用戶端連線到您的 SQL Server 執行個體,最簡單的方法是將 mssql-tools
二進位目錄新增至您的 PATH
。若要設定此項,請輸入
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
之後,重新來源上述兩個檔案之一,以評估目前工作階段的新 PATH
source ~/.bashrc
您現在可以透過輸入以下內容來連線到您的資料庫執行個體
sqlcmd -U SA -S 127.0.0.1
系統會提示您輸入先前設定的密碼。成功通過身份驗證後,您將進入 SQL Shell。從這裡,您可以透過列印伺服器的版本來驗證一切是否正常運作
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (CentOS Linux 8) <X64>(1 rows affected)
若要結束 SQL Shell 並返回命令列,您可以輸入
EXIT
如果您將 Prisma Client 與 SQL Server 搭配使用,您可以使用 SQL Server 連接器 來連線、對應您的模型並管理您的資料。
您也可以查看我們的指南,了解如何在 新專案 或 現有專案 中將 Prisma 與 Microsoft SQL Server 搭配使用。
使用 Docker
如果您使用的 Linux 發行版不是 Microsoft 提供套件的版本,或者您只是偏好使用 Docker,則另一個選項是使用 Docker 執行 SQL Server。您至少需要 2 GB 的記憶體(可能至少多一點)才能成功執行映像檔。
首先,請確保您的系統上已安裝 Docker Engine。您可以在 Docker Engine 文件中找到各種平台的詳細指示。
一旦 Docker 啟動並執行,您就可以從 Microsoft Container Registry 提取 SQL Server Docker 映像檔,方法是輸入
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
這會將所有必要的映像檔層下載到您的本機系統,從而加快啟動速度。
當您準備好啟動容器時,請輸入以下命令。
請記住將 <password>
替換為您預期的密碼值,並選擇符合映像檔密碼原則的值。在撰寫本文時,該原則定義為:「密碼長度必須至少為 8 個字元,且包含來自以下四組字元中至少三組的字元:大寫字母、小寫字母、十進位數字和符號。」
sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
SQL Server 容器將在背景啟動。顯示的字元串是新容器的 ID。
您可以透過輸入以下內容來驗證容器是否已啟動並執行
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
您應該會在清單中看到 mssql
容器。如果容器未執行或您遇到問題,您可以嘗試檢視其日誌,看看是否有任何有用的訊息
sudo docker logs mssql
SQL Server 容器不僅安裝了資料庫伺服器,還提供了一些常用的工具,包括 sqlcmd
命令列用戶端。若要使用此用戶端連線到資料庫執行個體,您可以使用 docker exec
來存取命令並針對資料庫進行驗證
sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
您將通過身份驗證連線到容器內的 SQL Server,並進入 SQL Shell。您可以輸入以下內容來驗證一切是否都已啟動並執行
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>(1 rows affected)
若要結束 SQL 工作階段並返回正常 Shell,請輸入
EXIT
若要在完成時關閉 SQL Server 容器,您可以輸入以下內容來停止它
sudo docker stop mssql
若要移除容器執行個體(包括內部的所有資料!),請輸入
sudo docker rm mssql
若要持久化 SQL Server 容器中的資料,您可以使用 Microsoft 文件中描述的技術之一,或查看 Docker 自己關於將資料卷與容器搭配使用的文件。
如果您將 Prisma Client 與 SQL Server 搭配使用,您可以使用 SQL Server 連接器 來連線、對應您的模型並管理您的資料。
您也可以查看我們的指南,了解如何在 新專案 或 現有專案 中將 Prisma 與 Microsoft SQL Server 搭配使用。
常見問題
支援多個版本的 Microsoft SQL Server,並且有多種方法可以判斷您正在執行的版本。
Microsoft 提供的任何 列出的方法 都將傳回您正在執行的 SQL Server 資料庫引擎的版本和版本。
有兩個免費的特殊 SQL Server 版本可供下載。開發人員版和 Express 版可在 Microsoft 的 SQL Server 頁面 下載。
開發人員版是功能完整的免費版本,授權在非生產環境中用作開發和測試資料庫。
Express 版非常適合用於桌面、Web 和小型伺服器應用程式的開發和生產環境。
SQL Server 2019 開發人員版是功能完整的版本,授權在非生產環境中用作開發和測試資料庫。
Azure SQL 是基於 SQL Server,因此它們在功能和相容性方面有許多相似之處。但是,這並不表示它們相同。
Azure SQL 是一系列託管產品,在 Azure 雲端中使用 SQL Server 資料庫引擎。
SQL Server Configuration Manager 是一種工具,用於管理與 SQL Server 相關聯的服務、設定 SQL Server 使用的網路協定,以及管理來自 SQL Server 用戶端電腦的網路連線組態。
Configuration Manager 與您的 SQL Server 安裝一起安裝,並且可以從「開始」功能表取得,或新增至任何其他 Microsoft Management Console 顯示器。