Microsoft SQL Server

設定本地 SQL Server 資料庫

分享到

概覽

在本指南中,我們將討論如何安裝和配置 SQL Server 例項以及 sqlcmd 命令列客戶端。我們將介紹如何在您的計算機上安裝和設定這些元件以進行本地訪問。

本指南將涵蓋以下平臺

導航到與您將使用的平臺匹配的章節。

在 Windows 上設定 SQL Server

Microsoft 在其網站上提供了 SQL Server 的原生 Windows 安裝程式,並提供了各種適用於不同目的的 SQL Server 版本。出於本指南的目的,我們將下載並安裝免費的開發者版本。如果您想將其用於生產環境,可以輕鬆地從開發者版本升級到付費版本。

首先,訪問 Microsoft 的 SQL Server 頁面。找到與開發者版本相關的部分,然後點選立即下載

Download SQL Server Developer Edition

下載完成後,雙擊檔案執行安裝程式(您可能需要確認是否允許程式更改您的計算機)。

在安裝程式的初始螢幕上,您將被要求選擇要執行的安裝型別

SQL Server choose installation type

選擇基本以使用最常見選項繼續進行常規安裝。

接下來,您將被要求同意開發者版本的許可條款

SQL Server agree to terms

閱讀並同意許可條款後,點選接受繼續。

接下來,確認或更改安裝位置

SQL Server choose installation location

準備就緒後,點選安裝開始安裝過程。

安裝程式將開始下載並安裝元件以在您的計算機上設定 SQL Server

SQL Server downloading and installing

安裝完成後,將出現一個螢幕,顯示當前安裝屬性

SQL Server installation successful

要立即連線到新的 SQL Server 例項,請點選底部的立即連線

將出現一個新視窗 Cmd 視窗,並使用 sqlcmd 客戶端自動將您登入到 SQL Server 例項

SQL Server connect to database

如視窗頂部註釋所示,您可以隨時透過輸入以下命令使用 sqlcmd 客戶端手動連線到 SQL Server

sqlcmd -S <yourhostname> -E

要退出當前 SQL 會話,請鍵入

EXIT

在 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 容器登錄檔拉取 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 NAMES
ffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssql
ae00765e36fb 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:12
Copyright (C) 2019 Microsoft Corporation
Developer 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 關於使用資料卷與容器的文件

在 Linux 上設定 SQL Server

安裝方法因您使用的 Linux 發行版而異。請按照下方與您的 Linux 發行版匹配的章節進行操作。如果您更喜歡 Docker 配置或想使用未列出的發行版,也有使用 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 hyperthreaded
7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
8) I bought a license through a retail sales channel and have a product key to enter.
Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number 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=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do 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"' >> ~/.bashrc
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

之後,重新載入上述兩個檔案中的一個,以評估當前會話的新 PATH

source ~/.bashrc

您現在可以透過鍵入以下命令連線到您的資料庫例項

sqlcmd -U SA -S 127.0.0.1

系統將提示您輸入之前設定的密碼。成功驗證後,您將進入 SQL shell。在此處,您可以透過列印伺服器版本來驗證一切是否正常工作

SELECT @@VERSION
GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)
Jan 25 2021 20:16:12
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>
(1 rows affected)

要退出 SQL shell 並返回到命令列,您可以鍵入

EXIT

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-python
2 /usr/bin/python2
Enter 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 hyperthreaded
7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
8) I bought a license through a retail sales channel and have a product key to enter.
Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number 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=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do 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"' >> ~/.bashrc
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

之後,重新載入上述兩個檔案中的一個,以評估當前會話的新 PATH

source ~/.bashrc

您現在可以透過鍵入以下命令連線到您的資料庫例項

sqlcmd -U SA -S 127.0.0.1

系統將提示您輸入之前設定的密碼。成功驗證後,您將進入 SQL shell。在此處,您可以透過列印伺服器版本來驗證一切是否正常工作

SELECT @@VERSION
GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)
Jan 25 2021 20:16:12
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64>
(1 rows affected)

要退出 SQL shell 並返回到命令列,您可以鍵入

EXIT

使用 Docker

如果您使用的 Linux 發行版 Microsoft 不提供軟體包,或者您只是喜歡,另一種選擇是使用 Docker 執行 SQL Server。您至少需要 2 GB 記憶體(可能需要更多一點)才能成功執行此映象。

首先,確保您的系統上已安裝 Docker Engine。您可以在 Docker Engine 文件中找到各種平臺的詳細說明。

安裝並執行 Docker 後,您可以從 Microsoft 容器登錄檔拉取 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 NAMES
ffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssql
ae00765e36fb 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:12
Copyright (C) 2019 Microsoft Corporation
Developer 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 關於使用資料卷與容器的文件

常見問題

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 配置管理器是一個用於管理與 SQL Server 關聯的服務、配置 SQL Server 使用的網路協議以及管理 SQL Server 客戶端計算機的網路連線配置的工具。

配置管理器隨您的 SQL Server 安裝一起安裝,可從“開始”選單訪問,或新增到任何其他 Microsoft 管理控制檯顯示中。

關於作者
Justin Ellingwood

賈斯汀·埃林伍德

Justin 自 2013 年以來一直在撰寫有關資料庫、Linux、基礎設施和開發者工具的文章。他目前與妻子和兩隻兔子住在柏林。他通常不必以第三人稱寫作,這讓所有相關方都鬆了一口氣。
© . This site is unofficial and not affiliated with Prisma Data, Inc.