Как определить, является ли экземпляр SQL Server чувствительным к регистру или нет
-
10-07-2019 - |
Вопрос
Как я могу узнать, допускает ли экземпляр SQL Server 2005 базы данных с учетом регистра или нет?
Под чувствительностью к регистру я подразумеваю чувствительность к регистру объектов в базе данных, то есть следующие два оператора не эквивалентны:
SELECT * FROM TABLE
SELECT * FROM table
Я просматривал страницы свойств сервера (в Management Studio), но не мог его увидеть.
Решение
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')