Чувствительность к регистру контролируется сличением, используемым базой данных - проверьте это, запросив представления системного каталога:
select name, collation_name
from sys.databases
Имя сопоставления будет выглядеть примерно так: Latin1_General_CI_AS
Часть _CI_
говорит мне здесь, что это регистр без учета регистра. Если вы видите _CS_
, значит сопоставление регистров .
Вы можете изменить параметры сортировки базы данных по умолчанию, используя:
ALTER DATABASE AdventureWorks COLLATE .......
и выберите любое правильное сопоставление здесь - используйте одно с _CI_
, чтобы получить регистр без учета регистра.
Проблема в том, что даже если вы измените параметры сортировки на уровне базы данных, в некоторых таблицах все еще может быть отдельный столбец, для которого при создании таблицы был определен определенный параметр сортировки. Вы также можете изменить все это, но это будет более масштабное мероприятие. См. эту статью для получения дополнительной информации и сценария для проверки и, возможно, изменения отдельных столбцов в ваших таблицах.
Причина, по которой intellisense может не работать должным образом, заключается в том, что чувствительность к регистру объектов базы данных сама по себе контролируется параметрами сортировки сервера, что может снова отличаться от значения по умолчанию для любой базы данных.
Чтобы узнать, какова сортировка сервера, используйте:
SELECT SERVERPROPERTY('Collation')
Изменение системной сортировки сервера является довольно запутанным процессом и требует использования оригинального setup.exe
, как объяснено здесь 1032 *.