使用環境變數在 Linux 上設定 SQL Server 設定

適用於:SQL Server - Linux

您可以使用數個不同的環境變數來設定 Linux 上的 SQL Server 2017 (14.x)。 在下列兩種案例中會使用這些變數:

您可以使用數個不同的環境變數來設定 Linux 上的 SQL Server 2019 (15.x)。 在下列兩種案例中會使用這些變數:

您可以使用數個不同的環境變數來設定 Linux 上的 SQL Server 2022 (16.x)。 在下列兩種案例中會使用這些變數:

提示

如果您需要在這些設定案例之後設定 SQL Server,請參閱使用 mssql-conf 工具在 Linux 上設定 SQL Server

環境變數

環境變數 描述
ACCEPT_EULA ACCEPT_EULA 變數設為任意值可確認您接受終端使用者授權合約。 此為 SQL Server 映像的必要設定。
MSSQL_SA_PASSWORD 設定 SA 使用者密碼。

SA_PASSWORD 環境變數已退場。 請改用 MSSQL_SA_PASSWORD
MSSQL_PID 設定 SQL Server 版本或產品金鑰。 可能的值包括:

Evaluation
Developer
Express
Web
Standard
Enterprise1
EnterpriseCore1
A product key

如果指定產品金鑰,則其格式必須為 #####-#####-#####-#####-#####,其中「#」是數字或字母。
MSSQL_LCID 為 SQL Server 設定要使用的語言識別碼。 例如 1036 是法文。
MSSQL_COLLATION 設定 SQL Server 的預設定序。 這會覆寫語言識別碼 (LCID) 與定序的預設對應。
MSSQL_MEMORY_LIMIT_MB 設定 SQL Server 可使用的記憶體數量上限 (MB)。 預設為實體記憶體總計的 80%。
MSSQL_TCP_PORT SQL Server 進行接聽的 TCP 連接埠 (預設值為 1433)。
MSSQL_IP_ADDRESS 設定 IP 位址。 目前 IP 位址必須是 IPv4 樣式 (0.0.0.0)。
MSSQL_BACKUP_DIR 設定預設備份目錄位置。
MSSQL_DATA_DIR 變更新 SQL Server 資料庫資料檔 (.mdf) 的建立目錄。
MSSQL_LOG_DIR 變更新 SQL Server 資料庫記錄檔 (.ldf) 的建立目錄。
MSSQL_DUMP_DIR 變更 SQL Server 預設存放記憶體傾印及其他疑難排解檔案的目錄。
MSSQL_ENABLE_HADR 啟用可用性群組。 例如 '1' 為啟用,'0' 為停用
MSSQL_AGENT_ENABLED 啟用 SQL Server Agent。 例如 'true' 為啟用,'false' 為停用。 代理程式預設為停用。
MSSQL_MASTER_DATA_FILE 設定 master 資料庫資料檔的位置。 在第一次執行 SQL Server 之前,必須命名為 master.mdf
MSSQL_MASTER_LOG_FILE 設定 master 資料庫記錄檔的位置。 在第一次執行 SQL Server 之前,必須命名為 mastlog.ldf
MSSQL_ERROR_LOG_FILE 設定 errorlog 檔案的位置。 例如: /var/opt/mssql/log/errorlog

1 舊版 Enterprise 授權表示 Enterprise 版本與以伺服器 + 用戶端存取使用權 (CAL) 為基礎的授權,限制為每個 SQL Server 執行個體最多 20 個核心。 Enterprise 不適用於新的合約。 當您要部署 Enterprise 版本時,您應該選擇 EnterpriseCoreEnterpriseCore 表示沒有核心限制的核心型伺服器授權模型。 如需詳細資訊,請參閱 SQL Server 版本的計算容量限制

與初始設定搭配使用

此範例會使用已設定的環境變數來執行 mssql-conf setup。 以下是已指定的環境變數:

  • ACCEPT_EULA 接受使用者授權合約。
  • MSSQL_PID 指定自由授權的 SQL Server Developer Edition 供非生產環境使用。
  • MSSQL_SA_PASSWORD 設定強式密碼。
  • MSSQL_TCP_PORT 將 SQL Server 進行接聽的 TCP 連接埠設定成 1234。
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

與 Docker 搭配使用

此範例 docker 命令會使用下列環境變數來建立新的 SQL Server 容器:

  • ACCEPT_EULA 接受使用者授權合約。
  • MSSQL_PID 指定自由授權的 SQL Server Developer Edition 供非生產環境使用。
  • MSSQL_SA_PASSWORD 設定強式密碼。
  • MSSQL_TCP_PORT 將 SQL Server 進行接聽的 TCP 連接埠設定成 1234。 這意謂著在此範例中,必須使用 -p 1234:1234 命令來對應自訂 TCP 連接埠,而不是將連接埠 1433 (預設值) 對應至主機連接埠。

如果您是在 Linux 上執行 Docker,請搭配單引號使用下列語法:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

如果您是在 Windows 上執行 Docker,請搭配雙引號使用下列語法:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

注意

在容器中執行生產版本的程序將有些微差異。 如需詳細資訊,請參閱執行生產容器映像

如果您是在 Linux 上執行 Docker,請搭配單引號使用下列語法:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

如果您是在 Windows 上執行 Docker,請搭配雙引號使用下列語法:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

如果您是在 Linux 上執行 Docker,請搭配單引號使用下列語法:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

如果您是在 Windows 上執行 Docker,請搭配雙引號使用下列語法:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。

如需詳細資訊,請參閱如何參與 SQL Server 文件