Подтвердить что ты не робот

Изменение сортировки SQL Server на регистр, нечувствительный к регистру с учетом регистра?

Недавно я установил SQL Server 2008, и я выбрал сортировку как чувствительную к регистру. Я хочу сделать регистр нечувствительным для всего экземпляра (не для базы данных в этом случае). Если я изменил сортировку, это повлияет на любые существующие базы данных? если да, то каким образом?

4b9b3361

Ответ 1

Вам нужно снова запустить установку, чтобы восстановить базу данных master с новой сортировкой. Вы не можете изменить всю сортировку сервера любым другим способом.

См:

Обновление:, если вы хотите изменить сортировку базы данных, вы можете получить текущую сортировку с помощью этого фрагмента T-SQL:

SELECT name, collation_name 
FROM sys.databases
WHERE name = 'test2'   -- put your database name here

Это даст значение, подобное:

Latin1_General_CI_AS

_CI означает "нечувствительность к регистру" - если вы хотите с учетом регистра, используйте _CS на своем месте:

Latin1_General_CS_AS

Итак, ваша команда T-SQL будет:

ALTER DATABASE test2 -- put your database name here
   COLLATE Latin1_General_CS_AS   -- replace with whatever collation you need

Вы можете получить список всех доступных сопоставлений на сервере, используя:

SELECT * FROM ::fn_helpcollations()

Вы можете увидеть текущую сортировку сервера, используя:

SELECT SERVERPROPERTY ('Collation')

Ответ 2

Вы можете это сделать, но изменения повлияют на новые данные, которые вставлены в базу данных. В долгосрочной перспективе следуйте изложенным выше.

Также есть определенные трюки, которые вы можете переопределить для сортировки, такие как параметры хранимых процедур или функций, типы данных псевдонимов и переменные, которым присваивается стандартная сортировка базы данных. Чтобы изменить сортировку типа псевдонима, вы должны удалить псевдоним и заново создать его.

Вы можете переопределить стандартную сортировку строковой строки с помощью предложения COLLATE. Если вы не укажете сортировку, литералу присваивается стандартная сортировка базы данных. Вы можете использовать DATABASEPROPERTYEX, чтобы найти текущую сортировку базы данных.

Вы можете переопределить сортировку сервера, базы данных или столбцов, указав сопоставление в предложении ORDER BY инструкции SELECT.