2013-05-16 56 views
0

我有一個SQL Server 2008 R2 Express,並且在安裝嚮導中選擇了排序規則Modern_Spanish_CS_AS數據庫在唯一約束中區分大小寫,但不在select

當我創建一個新的數據庫,如果我去的數據庫的屬性,我可以看到排序是正確的,CS_AS

然而,當我做一個選擇是不區分大小寫,如果我創建一個唯一約束我不能插入例如這個字符串:user01User01,因爲真正的數據庫不區分大小寫。

爲什麼如果服務器,數據庫和表格區分大小寫,選擇和約束不是?在實踐中,不區分大小寫。

我該如何解決這個問題?我希望所有的數據庫都區分大小寫。

謝謝。

回答

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

如果這不能解決問題,我可以添加一些測試。

相關問題