Как определить, является ли экземпляр SQL Server чувствительным к регистру или нет
Как я могу узнать, допускает ли экземпляр SQL Server 2005 базы данных с учетом регистра или нет?
Под чувствительностью к регистру я подразумеваю чувствительность к регистру объектов в базе данных, то есть следующие два оператора не эквивалентны:
SELECT * FROM TABLE
SELECT * FROM table
Я посмотрел на страницах свойств сервера (в Management Studio), но не смог его увидеть.
3 ответа
SELECT DATABASEPROPERTYEX('DatabaseNameHere', 'Collation') SQLCollation;
Возвращает "SQL_Latin1_General_CP1_CI_AS", CI - это то, что указывает на нечувствительность к регистру
В Management studio щелкните правой кнопкой мыши на Экземпляре в проводнике объектов, а затем выберите "Свойства", чтобы просмотреть свойства сервера. В разделе "Общие" посмотрите на сопоставление. Значение по умолчанию без учета регистра - SQL_Latin1_General_CP1_CI_AS. Чувствительный к регистру параметр - Latin1_General_CS_AS.
Параметры сортировки базы данных могут отличаться от параметров сортировки сервера. Там нет ограничений.
Когда вы СОЗДАЕТЕ БАЗУ ДАННЫХ, вы указываете ее там, или она предполагает сопоставление баз данных модели (которое должно быть сопоставлением сервера).
SELECT
DATABASEPROPERTYEX('MyDB', 'Collation'),
SERVERPROPERTY ('Collation')