SQL如何修改存储过程中的排序规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL如何修改存储过程中的排序规则相关的知识,希望对你有一定的参考价值。

我现在的SQL数据库表里的存储过程中的属性的排序规则的扩展属性是Latin1_General_CI_AS 我要将他改成Chinese_PRC_CI_AS 应该怎么办啊

参考技术A 改变数据库的排序规则(做ALTER之前,要中断所有用户对此数据库的访问)
语法:
use
master
go
ALTER
DATABASE
数据库名
COLLATE
排序规则名
例子:
use
master
go
ALTER
DATABASE
luwanzhufa
COLLATE
Chinese_PRC_CS_AS
Chinese_PRC_CS_AS这个是简体中文。而且区分大小写的排序规则。
192
Japanese_BIN
二进制顺序、用于
932(日文)字符集。
193
Japanese_CI_AS
字典顺序、不区分大小写、用于
932(日文)字符集。
200
Japanese_CS_AS
字典顺序、区分大小写、用于
932(日文)字符集。
198
Chinese_PRC_BIN
二进制顺序、用于
936(简体中文)字符集。
199
Chinese_PRC_CI_AS
字典顺序、不区分大小写、用于
936(简体中文)字符集。
203
Chinese_PRC_CS_AS
字典顺序、区分大小写、用于
936(简体中文)字符集。

SQL SERVER 数据库安装完毕之后如何修改数据库实例排序规则

背景

最近我们在azure portal 上开了几台英文版的数据库服务器,因默认是开启就安装好对应的数据库,所以存在一个实例排序规则的问题,需把整个实例都调整成Chinese_PRC_CI_AS,避免后续出现字符乱码之类的问题。之前只是知道可以调整,未实际操作过,这次把实际操作步骤记录一下,便于我们后续查阅。
 

环境情况

Microsoft SQL Server 2012 (SP3-CU8) (KB4013104) - 11.0.6594.0 (X64) 
Mar 15 2017 10:52:31 
Copyright (c) Microsoft Corporation
Web Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
 

操作过程

默认安装之后的排序规则如下,如是生产环境注意要提前备份好所有的数据库(包括master\msdb等)
技术分享
查看数据库安装文件放置目录

技术分享

 找到命令提示符
 技术分享
注意使用超级用户执行,如下图,在命令提示符上点右键,选择超级用户
 技术分享
在超级用户的模式下,进入命名符界面,输入如下命名:
技术分享
关键命令如下(敏感信息已使用XXXX替换,其中一个SQLSYSADMIN 账号,一个是SA密码):
1 C:\SQLServer_11.0_Full>Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=XXXX /SAPWD=XXXX /SQLCOLLATION=Chinese_PRC_CI_AS

调整完毕之后,重新进入SSMS 查询,已全部调整成Chinese_PRC_CI_AS;

技术分享
 如需查找调整的日志,可以在如下目录查看;
技术分享

总结

1.如是生产环境请注意提前备份好所有的数据库包括(master\msdb)等,还需注意用户名以及JOB等问题;
2.命令提示符注意使用超级用户模式;
 

参考资料

 


以上是关于SQL如何修改存储过程中的排序规则的主要内容,如果未能解决你的问题,请参考以下文章

求高人帮忙写一下存储过程

如何在sql server中创建一个存储过程中的varchar型的输入参数默认值为空

SQL 存储过程中的动态排序

SQL修改存储过程创建日期

Sql Server 中查询存储过程的修改时间

sqlserver 如何修改存储过程的名字