当修改默认排序规则的时候,经常会出现无法用排他锁锁定该数据库的错误
首先应该去掉其他的访问线程
CREATE TABLE #HarveyLock
(
SPID INT,
DBID INT,
OBJID INT,
INDID INT,
TYPE VARCHAR(100),
RESOURCE VARCHAR(100),
MODE VARCHAR(100),
STATUS VARCHAR(100)
)
INSERT INTO #HarveyLock EXEC SP_LOCK
SELECT distinct 'kill ' + convert(varchar,SPID ) FROM #HarveyLock
杀死线程后,在修改数据库的排序规则
表
ALTER TABLE 表名字
ALTER COLUMN 列名字 nvarchar(100)(类型) COLLATE Chinese_PRC_CI_AS
--不区分大小写
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--区分大小写
修改到字段
还有一种在 设计表中-字段-排序规则-。。。设置区分大小写
数据库
ALTER DATABASE database
COLLATE Chinese_PRC_CS_AS
--区分大小写
ALTER DATABASE database
COLLATE Chinese_PRC_CI_AS
--不区分大小写
指定排序规则即可
Windows 排序规则名称
在COLLATE子句中指定Windows排序规则名称。Windows排序规则名称由排序规则指示器和比较风格构成。
语法:
<Windows_collation_name> :: =
CollationDesignator_<ComparisonStyle>
<ComparisonStyle> ::=
CaseSensitivity_AccentSensitivity
[_KanatypeSensitive [_WidthSensitive ] ]
| _BIN
参数
CollationDesignator
指定Windows 排序规则使用的基本排序规则。基本排序规则包括:
当指定按字典排序时应用其排序规则的字母表或语言
用于存储非 Unicode 字符数据的代码页。
例如 Latin1_General 或法文,两者都使用代码页 1252,或土耳其文,它使用代码页 1254。
CaseSensitivity
CI 指定不区分大小写,CS 指定区分大小写。
AccentSensitivity
AI 指定不区分重音,AS 指定区分重音。
KanatypeSensitive
Omitted 指定不区分大小写,KS 指定区分假名类型。
WidthSensitivity
Omitted 指定不区分大小写,WS 指定区分大小写。
BIN
指定使用二进制排序次序。
UPPER (Transact-SQL)
返回小写字符数据转换为大写的字符表达式。
Transact-SQL 语法约定
语法
UPPER ( character_expression ) 参数
character_expression
一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。
character_expression 的数据类型必须可隐式转换为 varchar。否则,请使用 CAST 显式转换 character_expression。
返回类型
varchar 或nvarchar
LOWER
将大写字符数据转换为小写字符数据后返回字符表达式。
语法
LOWER ( character_expression )
参数
character_expression
是字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐性转换为 varchar 的数据类型。否则,使用 CAST 显式转换 character_expression。
返回类型
varchar