解决 SqlServer 排序规则问题 SQL_Latin1_General_CP1_CI_AS“ and “Chinese_PRC_CI_AS“,无需重装数据库,命令行修改

2023年2月19日

最近做了个国外项目,使用了国外服务器,服务器系统也是英文操作系统。

项目部署上去后,运行时出现类似 “SQL_Latin1_General_CP1_CI_AS” and “Chinese_PRC_CI_AS” 错误。

在本地测试运行又没问题。。

后来发现原因是因为,英文系统安装 SQLServer 时 默认排序规则是 SQL_Latin1_General_CP1_CI_AS ,

而我还原上去的数据库因为是在国内创建的,默认排序规则是 Chinese_PRC_CI_AS ,

网上大多的解决方案是重装数据库,安装时重新设置排序规则,

重装太麻烦,其实使用命令方式也可以修改实例的默认排序规则,方法如下:

1、先使用以下 SQL 语句查看服务器排序规则,可见排序规则为 SQL_Latin1_General_CP1_CI_AS

SELECT SERVERPROPERTY(‘Collation’)
2、现在要把排序规则改为 Chinese_PRC_CI_AS,先使用管理员权限打开命令行,进入 sqlerver 安装目录

3、停止 sqlserver 服务

net stop mssqlserver
4、修改排序规则

Setup /QUIET /ACTION=REBUILDDATABASE /instancename=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrator /sapwd=123456 /sqlcollation=Chinese_PRC_CI_AS
格式说明:SQLSYSADMINACCOUNTS 为用户使用电脑管理员账号,sapwd 为数据库 sa 密码,sqlcollation 为需要变更的排序格式

5、启动 sqlserver 服务

net start mssqlserver
6、再使用 SELECT SERVERPROPERTY(‘Collation’) 查看,可以看见排序规则已经修改成功。

7、注意!!!使用该方法修改排序规则后数据库会被分离,重新附加数据库即可
————————————————
版权声明:本文为CSDN博主「JZii」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cnlol/article/details/111610055

本文的评论功能被关闭了.