You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker中配置MS SQL Server密码策略以仅允许小写字母?

解决Docker中MS SQL Server简化密码要求的问题

要在开发环境中让MS SQL Server接受纯小写字母的密码,核心是禁用它默认的密码复杂度策略和密码策略限制,具体通过设置两个环境变量实现:

1. 使用docker run命令直接启动

执行以下命令,替换yourlowercasepassword为你想用的纯小写密码:

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=yourlowercasepassword" -e "MSSQL_PASSWORD_POLICY=OFF" -e "MSSQL_PASSWORD_COMPLEXITY=OFF" -p 1433:1433 --name sqlserver-dev -d mcr.microsoft.com/mssql/server:latest

参数说明:

  • ACCEPT_EULA=Y:必须同意微软许可协议才能启动容器
  • MSSQL_SA_PASSWORD:设置SA用户的登录密码,这里直接填纯小写字符串
  • MSSQL_PASSWORD_POLICY=OFF:禁用Windows密码策略(如密码过期、账户锁定规则)
  • MSSQL_PASSWORD_COMPLEXITY=OFF:关闭密码复杂度要求,不再强制需要大写字母、数字、特殊符号

2. 使用docker-compose配置

如果用docker-compose管理容器,创建docker-compose.yml文件:

version: '3.8'
services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:latest
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_SA_PASSWORD: "yourlowercasepassword"
      MSSQL_PASSWORD_POLICY: "OFF"
      MSSQL_PASSWORD_COMPLEXITY: "OFF"
    ports:
      - "1433:1433"
    container_name: sqlserver-dev

执行docker-compose up -d即可启动容器。

注意事项

  • 该配置仅限开发环境使用,生产环境禁用密码策略会带来严重安全风险,绝对不能照搬
  • 部分旧版本MS SQL Server镜像可能使用SA_PASSWORD而非MSSQL_SA_PASSWORD,如果上述配置不生效,可替换环境变量名尝试
  • 验证配置是否生效:执行以下命令连接数据库,成功进入命令行则说明密码设置有效
docker exec -it sqlserver-dev /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P yourlowercasepassword

内容的提问来源于stack exchange,提问作者Ali EXE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 07:09:13