当前位置: 首页>移动开发>正文

SQLServer修改collation

修改实例级别的collation

不同于修改数据库级别的collation,修改实例的collation相当于重置系统库,具体步骤如下:
1.收集信息
使用SSMS,在实例属性-常规中就能看到,也可以使用语句查看;
查看服务器排序规则、查看实例版本:

SELECT SERVERPROPERTY(‘Collation’) ;
SELECT @@VERSION ;

确认当前数据库安装目录。如果使用默认安装目录可参考如下路径汇总:

  • SQL Server 2008
    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release
  • SQL Server 2012
    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\SQLServer2012
  • SQL Server 2014
    C:\Program Files\Microsoft SQL Server\120\Setup Bootstrap\SQLServer2014
  • SQL Server 2016
    C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\SQLServer2016
  • SQL Server 2019
    C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\SQL2019

2.备份数据库
事先备份好系统库中的自定义存储过程等对象。
业务数据库也进行全备份,备份后删除。

3.修改实例collation(需要停库)
管理员权限运行cmd,进入安装目录,此处以2019版本为例:

cd C:\Program Files\Microsoft SQL Server0\Setup Bootstrap\SQL2019

使用语句关闭SQLServer

Net stop mssqlserver

如果SQLServer Agent正在运行的话可能会提示一起关闭,我们选择Y一起关闭即可。
关闭后可从图形界面配置管理器看到,确实已经停止。
然后执行重新设置的语句(原Chinese_PRC_CS_AS ,改至SQL_Latin1_General_CP850_BIN2):

Setup /QUIET /ACTION=REBUILDDATABASE /instancename=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrator /sapwd=Hi**in@1234 /sqlcollation=SQL_Latin1_General_CP850_BIN2

格式说明:
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
  /SQLSYSADMINACCOUNTS=accounts / [ SAPWD= StrongPassword ]
/SQLCOLLATION=CollationName)
注意: accounts 用户使用操作系统管理员用户,CollationName 为需要变更的排序格式。
修改之后启动SQL Server 服务 :

Net start mssqlserver

然后使用SSMS检查,并重新配置相关的系统设置,如内存上限、并行度之类的。
再还原数据库,还原系统库对象。

修改数据库级别的collation

直接使用SSMS修改即可,先备份数据库,备份完成后杀掉使用此数据库的进程,再改为单用户模式,再修改collation;修改完再改回多用户模式。
参考:

https://blog.csdn.net/qq_41248260/article/details/118091917

https://www.xamrdz.com/mobile/4ya1996751.html

相关文章: