Как определить, является ли экземпляр SQL Server чувствительным к регистру или нет - PullRequest
5 голосов
/ 17 сентября 2009

Как я могу узнать, допускает ли экземпляр SQL Server 2005 базы данных с учетом регистра или нет?

Под чувствительностью к регистру я подразумеваю чувствительность к регистру объектов в базе данных, то есть следующие два утверждения не эквивалентны:

SELECT * FROM TABLE
SELECT * FROM table

Я просматривал страницы свойств сервера (в Management Studio), но не мог его увидеть.

Ответы [ 3 ]

11 голосов
/ 17 сентября 2009
SELECT DATABASEPROPERTYEX('DatabaseNameHere', 'Collation') SQLCollation;

Возвращает «SQL_Latin1_General_CP1_CI_AS», CI - это то, что указывает на нечувствительность к регистру

2 голосов
/ 17 сентября 2009

В Management studio щелкните правой кнопкой мыши Instance в проводнике объектов, а затем нажмите «Свойства», чтобы увидеть свойства сервера. В разделе «Общие» посмотрите на сопоставление. Значение по умолчанию без учета регистра - SQL_Latin1_General_CP1_CI_AS. Учитывается регистр символов: Latin1_General_CS_AS.

1 голос
/ 17 сентября 2009

Сортировка базы данных может отличаться от параметров сортировки сервера. Нет ограничений.

Когда вы СОЗДАЕТЕ БАЗУ ДАННЫХ, вы указываете ее там или она предполагает сопоставление баз данных модели (что должно быть сопоставлением сервера).

SELECT
    DATABASEPROPERTYEX('MyDB', 'Collation'), 
    SERVERPROPERTY ('Collation')
...