Трябва да промените съпоставянето на сървъра на регистри, за да получите поведението, което искате. Само промяната на съпоставянето за db не е достатъчна.
Съпоставянето по подразбиране на инсталация на SQL Server, SQL_Latin1_General_CP1_CI_AS
не е чувствителен към главни букви.
Изглежда, че искате да промените сортирането на вашия сървър към такъв, който не е чувствителен към главни букви. Изберете един с _CS
. _CI
означава „нечувствителност на главни букви ", а малките букви са чувствителни _CS
. Може би ще искате Latin1_General_CS_AS
.
Това е чудесен отговор на предишен въпрос относно Промяната на съпоставянето на SQL Server с нечувствително към главни и малки букви?
От SQL Server Books Online:
СОБИРАНЕ (Transact-SQL)
Съпоставянето на идентификатор зависи от нивото, на което е дефиниран.
- Идентификаторите на обекти на ниво екземпляр, като данни за влизане и имена на база данни, се присвояват по подразбиране за сравнение на екземпляра.
Идентификаторите на обекти в базата данни, като таблици, изгледи и имена на колони, се присвояват по подразбиране за сортиране на базата данни.
Например, две таблици с имена, различни само в случай, могат да бъдат създадени в база данни със съпоставяне, чувствително към малки и големи букви, но не може да бъдат създадени в база данни със съпоставяне, независимо от главните букви. За повече информация вижте Идентификатори на база данни.
Идентификаторите за променливи , Етикети GOTO ,временни съхранени процедури , ивременни таблици са в съпоставянето по подразбиране на сървърния екземпляр.
Променливи, етикети GOTO, временни съхранени процедури и временни таблици могат да бъдат създадени, когато контекстът на връзката е асоцииран с една база данни и след това да се препратят, когато контекстът е превключен към друга база данни.
Можете да проверите вашия сървър съпоставяне с помощта на:
SELECT SERVERPROPERTY('collation');
SQL_Latin1_General_CP1_CI_AS
(1 row(s) affected)