我有一个SQL Server 2008 R2 Express,在安装向导中我选择了排序规则Modern_Spanish_CS_AS
。
如果我转到数据库的属性,当我创建一个新数据库时,我可以看到整理是正确的,CS_AS
。
但是,当我执行select时不区分大小写,如果我创建了一个唯一约束,我不能插入例如这个字符串:user01
和User01
,因为实际上数据库不区分大小写。
为什么服务器,数据库和表区分大小写,选择和约束不是?在实践中,不区分大小写。
我该如何解决这个问题?我希望所有数据库都区分大小写。
感谢。
答案 0 :(得分:1)
我会看一下这篇论坛帖子,并验证您的唯一约束中的字段是否真正区分大小写:http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/6de23802-eb3b-4759-9d4d-a796c69e6271
您可以查询字段的排序规则(如果表创建为不区分大小写的话):
select name, collation_name
from sys.columns
where object_id in (select object_id from sys.objects where name = '<table name>') and name = '<field name>'
如果这不能解决问题,请回复,我可以添加一些测试。