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

如何在Docker中修改SQL Server的LCID与日期格式

解决SQL Server Linux容器LCID和日期格式不生效的问题

问题原因

  1. 数据卷持久化影响:你挂载了./drive:/var/opt/mssql数据卷,SQL Server第一次启动时会将实例配置(包括语言、LCID、日期格式)写入该目录,后续修改环境变量不会覆盖已有的持久化配置。
  2. 仅设置MSSQL_LCID不足:Linux版SQL Server的MSSQL_LCID仅控制部分区域行为,默认日期格式不会自动随LCID变更,需要单独配置。

解决方案步骤

1. 清理已持久化的配置数据

如果数据卷内无重要数据,先停止容器并删除本地配置目录:

docker-compose down
# 可选:备份数据卷内容
cp -r ./drive ./drive_backup
# 删除旧配置目录
rm -rf ./drive

2. 修改docker-compose.yml配置

更新配置,添加容器locale设置、匹配的排序规则,并通过启动脚本初始化实例级别的日期格式和语言:

version: "3.2"
services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: sqlserver-dev-linux
    ports:
      - 1433:1433
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: "Password"
      MSSQL_PID: "Developer"
      MSSQL_LCID: "1034"
      MSSQL_COLLATION: "SQL_Latin1_General_CP1_CI_AS"
      LC_ALL: "en_US.UTF-8"
      LANG: "en_US.UTF-8"
    volumes:
        - './drive:/var/opt/mssql'
        - './media:/media'
    command: >
      /bin/bash -c "
      # 生成en_US locale文件
      locale-gen en_US.UTF-8;
      # 后台启动SQL Server
      /opt/mssql/bin/sqlservr &
      # 等待服务完全启动
      sleep 30;
      # 连接实例配置默认参数
      /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Password' -Q '
      -- 设置实例默认语言为LCID 1034(us_english)
      sp_configure ''default language'', 1034;
      RECONFIGURE;
      -- 设置实例默认日期格式为dmy
      sp_configure ''default dateformat'', ''dmy'';
      RECONFIGURE;
      ';
      # 保持进程前台运行
      wait
      "
networks:
  default:
    external:
      name: nginx-proxy

3. 验证配置结果

启动容器后,执行以下命令验证配置:

docker exec -it sqlserver-dev-linux /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Password' -Q 'SELECT @@LANGUAGE, @@DATEFORMAT, SERVERPROPERTY(''LCID'')'

预期输出:

us_english  dmy         1034

关键说明

  • MSSQL_COLLATION:指定与en_US/LCID1034匹配的排序规则,确保区域行为一致性。
  • LC_ALL/LANG:强制容器系统locale为en_US.UTF-8,避免SQL Server读取主机的es_ES locale。
  • 启动脚本:在SQL Server启动后执行配置命令,确保实例级默认设置生效,所有新建用户会自动继承该配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:35:36