在 Linux 上使用环境变量配置 SQL Server 设置
适用于: SQL Server - Linux
可在 Linux 上使用多种不同的环境变量配置 SQL Server 2017 (14.x)。 这些变量用于两个方案:
可在 Linux 上使用多种不同的环境变量配置 SQL Server 2019 (15.x)。 这些变量用于两个方案:
可在 Linux 上使用多种不同的环境变量配置 SQL Server 2022 (16.x)。 这些变量用于两个方案:
- 使用
mssql-conf setup
命令配置初始设置。 - 在 Docker 中配置新的 SQL Server 容器。
提示
如果需要在完成这些设置方案之后配置 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 Enterprise 1EnterpriseCore 1A product key 如果指定产品密钥,则必须采用 #####-#####-#####-#####-##### 格式,其中“#”是数字或字母。 |
MSSQL_LCID |
设置用于 SQL Server 的语言 ID。 例如,1036 为法语。 |
MSSQL_COLLATION |
设置 SQL Server 的默认排序规则。 这将替代语言 ID (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 代理。 例如,“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
许可证表示具有基于 Server + 客户端访问许可证 (CAL) 的许可的 Enterprise Edition,并将每个 SQL Server 实例的最大内核数限制为 20。 Enterprise
不适用于新协议。 你应在想要部署 Enterprise Edition 时选择 EnterpriseCore
。 EnterpriseCore
表示没有核心限制的基于核心的服务器许可模型。 有关详细信息,请参阅按 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 文档编辑