新Windows 2022服务器安装SQL Server 2022无法设置Latin1_General_CI_AS排序规则
解决SQL Server 2022安装时无法选择Latin1_General_CI_AS排序规则的问题
方法1:命令行安装时直接指定目标排序规则
图形化安装程序可能因系统区域设置的关联限制未显示Windows类排序规则,用命令行安装可强制指定:
- 将SQL Server 2022安装介质挂载或解压到本地路径(如
D:\SQL2022) - 打开管理员权限的命令提示符,执行以下安装命令(根据实际需求调整参数):
Setup.exe /q /ACTION=Install /FEATURES=SQLENGINE,REPLICATION,FULLTEXT /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT Service\MSSQLSERVER" /SQLSVCPASSWORD="你的强密码" /SQLSYSADMINACCOUNTS="你的管理员账号" /COLLATION=Latin1_General_CI_AS /IAcceptSQLServerLicenseTerms
核心参数为/COLLATION=Latin1_General_CI_AS,直接锁定目标排序规则。
方法2:安装后修改服务器排序规则
若已完成SQL Server安装,可通过以下步骤修改:
- 停止所有依赖SQL Server的服务(如SQL Server Agent、Reporting Services等)
- 用管理员命令提示符启动SQL Server单用户模式:
net stop MSSQLSERVER net start MSSQLSERVER /m
- 打开SQL Server Management Studio(SSMS),通过Windows身份验证登录(单用户模式仅允许一个连接)
- 执行T-SQL命令修改服务器排序规则:
ALTER SERVER CONFIGURATION SET COLLATION = Latin1_General_CI_AS;
- 重启SQL Server服务生效:
net stop MSSQLSERVER net start MSSQLSERVER
补充说明
- 修改服务器排序规则仅影响新建数据库,已有数据库需单独修改:
ALTER DATABASE 你的数据库名 COLLATE Latin1_General_CI_AS;
- 数据库内已有表的列排序规则不会自动同步,需单独调整(示例):
ALTER TABLE 你的表名 ALTER COLUMN 列名 VARCHAR(50) COLLATE Latin1_General_CI_AS;
关键差异说明
Latin1_General_CI_AS是Windows排序规则,Latin1_General_CP1_CI_AS是SQL原生排序规则,二者在字符排序、处理逻辑上存在细微差异。图形化安装未显示Windows排序规则,大概率是安装介质语言或系统区域设置的隐藏关联问题,命令行安装可直接绕过该限制。
内容的提问来源于stack exchange,提问作者Robert Cooper
相关产品推荐
相关产品推荐

