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

適用於:Linux 上的 SQL Server

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

提示

要在這些設定場景後設定SQL Server,請參考 Configure Linux 上的 SQL Server with mssql-conf 工具

環境變數

環境變數 描述
ACCEPT_EULA 將變數設 ACCEPT_EULA 為任意值,以確認你接受 End-User 授權協議。 此為 SQL Server 映像的必要設定。
MSSQL_SA_PASSWORD 設定 sa 密碼。

SA_PASSWORD 環境變數已被取代。 請改用 MSSQL_SA_PASSWORD
MSSQL_DB 在容器啟動時設定資料庫名稱以建立。
MSSQL_USER 如果設定了MSSQL_DB,則會在容器啟動時為非sa使用者設定一個名稱以創建。 使用者會被授予資料庫的 MSSQL_DB 存取權限。 若使用此變數, MSSQL_PASSWORD 也必須設定。 如果 MSSQL_DB 未設定,這個變數會被忽略。
MSSQL_PASSWORD 設定名稱在 MSSQL_USER的使用者密碼。 若使用此變數, MSSQL_USER 也必須設定。 如果 MSSQL_DB 未設定,這個變數會被忽略。
MSSQL_PID 設定 SQL Server 版本或產品序號。 可能的值列於以下 SQL Server 版本 表中。 如果你指定一個產品金鑰,它必須以 #####-#####-#####-#####-#####的形式呈現,其中 # 是數字或字母。
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 啟用可用群組。 例如,啟用 10 停用此功能。
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

SQL Server 版本類型

MSSQL_PID 版本
Evaluation SQL Server 評估版
Developer SQL Server 開發者版
Express SQL Server Express 版本
Web SQL Server 網頁版
Standard SQL Server 標準版
Enterprise 此舊有選項代表企業版 Server + 用戶端存取授權(CAL)基礎授權,且每個 SQL Server 實例最多可使用 20 核心。 Enterprise 不適用於新的合約。 當您要部署 Enterprise 版本時,您應該選擇 EnterpriseCore
EnterpriseCore SQL Server Enterprise Core 版本。 EnterpriseCore 表示沒有核心限制的核心型伺服器授權模型。 如需詳細資訊,請參閱 SQL Server 版本的計算容量限制
A product key 如果你指定一個產品金鑰,它必須以 #####-#####-#####-#####-#####的形式呈現,其中 # 是數字或字母。

欲了解更多相關資訊,請參閱 SQL Server 版本

MSSQL_PID 版本
Evaluation SQL Server 評估版
Express SQL Server Express 版本
StandardDeveloper SQL Server 標準版開發者版本
Standard SQL Server 標準版
EnterpriseDeveloper SQL Server 企業開發者版
Enterprise 此舊有選項代表企業版 Server + 用戶端存取授權(CAL)基礎授權,且每個 SQL Server 實例最多可使用 20 核心。 Enterprise 不適用於新的合約。 當您要部署 Enterprise 版本時,您應該選擇 EnterpriseCore
EnterpriseCore SQL Server Enterprise Core 版本。 EnterpriseCore 表示沒有核心限制的核心型伺服器授權模型。 如需詳細資訊,請參閱 SQL Server 版本的計算容量限制
A product key 如果你指定一個產品金鑰,它必須以 #####-#####-#####-#####-#####的形式呈現,其中 # 是數字或字母。

欲了解更多相關資訊,請參閱 SQL Server 版本

與初始設定搭配使用

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

  • ACCEPT_EULA 接受使用者授權合約。

  • MSSQL_PID 指定自由授權的 SQL Server Developer Edition 供非生產環境使用。

  • MSSQL_SA_PASSWORD 設定強式密碼。 您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

  • MSSQL_TCP_PORT 將 SQL Server 進行接聽的 TCP 連接埠設定成 1234。

sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<password>' 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 設定強式密碼。 您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

  • 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='<password>' -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="<password>" -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='<password>' -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="<password>" -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='<password>' -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="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

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

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

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

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

警告

您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善我們的文件,還能作為貢獻者列名於該頁面。

如需詳細資訊,請參閱 編輯 Microsoft Learn 文件