0

我有一个 SQL Server 2008 R2 Express,在安装向导中我选择了 collat​​ion Modern_Spanish_CS_AS

当我创建一个新数据库时,如果我转到数据库的属性,我可以看到排序规则是正确的,CS_AS.

但是,当我选择不区分大小写时,如果我创建了一个唯一约束,我就不能插入例如这个字符串:user01并且User01因为数据库实际上是不区分大小写的。

如果服务器、数据库和表区分大小写,为什么选择和约束不区分大小写?在实践中,是不区分大小写的。

我怎么解决这个问题?我希望所有数据库都区分大小写。

谢谢。

4

1 回答 1

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>'

如果这不能解决问题,请回发,我可以添加一些测试。

于 2013-05-16T18:20:39.290 回答