Установка и изменение параметров сортировки базы данныхSet or Change the Database Collation

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

В этом разделе описано, как задать и изменить параметры сортировки базы данных в SQL ServerSQL Server с помощью среды SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL.This topic describes how set and change the database collation in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Если параметры сортировки не указаны, используются параметры сортировки сервера.If no collation is specified, the server collation is used.

Примечание

После создания базы данных в База данных SQL AzureAzure SQL Database параметры сортировки невозможно изменить, используя SQL Server Management StudioSQL Server Management Studio.Collation cannot be changed using SQL Server Management StudioSQL Server Management Studio after database has been created on База данных SQL AzureAzure SQL Database. Их можно изменить только с помощью Transact-SQLTransact-SQL.It can be changed only through Transact-SQLTransact-SQL.

В этом разделеIn This Topic

Перед началомBefore You Begin

ОграниченияLimitations and Restrictions

  • Параметры сортировки Windows только для Юникода могут использоваться лишь с предложением COLLATE для применения параметров сортировки к данным типов nchar, nvarcharи ntext на уровне столбца и на уровне выражения.Windows Unicode-only collations can only be used with the COLLATE clause to apply collations to the nchar, nvarchar, and ntext data types on column level and expression-level data. Их нельзя использовать с предложением COLLATE для изменения параметров сортировки базы данных или экземпляра сервера.They cannot be used with the COLLATE clause to change the collation of a database or server instance.

  • Если указанные или используемые объектом по ссылке параметры сортировки используют кодовую страницу, не поддерживаемую Windows, то компонент Компонент Database EngineDatabase Engine выдаст ошибку.If the specified collation or the collation used by the referenced object uses a code page that is not supported by Windows, the Компонент Database EngineDatabase Engine displays an error.

  • После создания базы данных в База данных SQL AzureAzure SQL Database параметры сортировки невозможно изменить, используя SQL Server Management StudioSQL Server Management Studio.Collation cannot be changed using SQL Server Management StudioSQL Server Management Studio after database has been created on База данных SQL AzureAzure SQL Database. Их можно изменить только с помощью Transact-SQLTransact-SQL.It can be changed only through Transact-SQLTransact-SQL.

РекомендацииRecommendations

Имена поддерживаемых параметров сортировки вы можете найти в статьях Имя параметров сортировки Windows (Transact-SQL) и Имя параметров сортировки SQL Server (Transact-SQL)или воспользоваться системной функцией sys.fn_helpcollations (Transact-SQL) .You can find the supported collation names in Windows Collation Name (Transact-SQL) and SQL Server Collation Name (Transact-SQL); or you can use the sys.fn_helpcollations (Transact-SQL) system function.

Если изменяются параметры сортировки базы данных, то изменяется следующее:When you change the database collation, you change the following:

  • Все столбцы типа char, varchar, text, nchar, nvarcharили ntext в системных таблицах заменяются новым параметром сортировки.Any char, varchar, text, nchar, nvarchar, or ntext columns in system tables are changed to the new collation.

  • Все существующие параметры типа char, varchar, text, nchar, nvarcharили ntext и возвращаемые скалярные значения для хранимых процедур и определяемых пользователем функций заменяются новым параметром сортировки.All existing char, varchar, text, nchar, nvarchar, or ntext parameters and scalar return values for stored procedures and user-defined functions are changed to the new collation.

  • Системные типы данных char, varchar, text, nchar, nvarcharили ntext и все определяемые пользователем типы данных, основанные на этих системных типах данных, заменяются новым параметром сортировки по умолчанию.The char, varchar, text, nchar, nvarchar, or ntext system data types, and all user-defined data types based on these system data types, are changed to the new default collation.

Вы можете изменить параметры сортировки любых новых объектов, созданных в пользовательской базе данных, с помощью предложения COLLATE инструкции ALTER DATABASE.You can change the collation of any new objects that are created in a user database by using the COLLATE clause of the ALTER DATABASE statement. Эта инструкция не изменяет параметры сортировки столбцов в любых существующих пользовательских таблицах.This statement does not change the collation of the columns in any existing user-defined tables. Они могут быть изменены с помощью предложения COLLATE инструкции ALTER TABLE.These can be changed by using the COLLATE clause of ALTER TABLE.

безопасностьSecurity

PermissionsPermissions

Чтобы создать базу данных, требуется разрешение CREATE DATABASE в базе данных master, разрешение CREATE ANY DATABASE либо ALTER ANY DATABASE.To create a new database, requires CREATE DATABASE permission in the master database, or requires CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Чтобы изменить параметры сортировки имеющейся базы данных, требуется разрешение ALTER в базе данных.To change the collation of an existing database, requires ALTER permission on the database.

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Задание и изменение параметров сортировки базы данныхTo set or change the database collation

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент SQL Server Database EngineSQL Server Database Engine, разверните его, а затем разверните узел Базы данных.In Object Explorer, connect to an instance of the Компонент SQL Server Database EngineSQL Server Database Engine, expand that instance, and then expand Databases.

  2. При создании новой базы данных щелкните правой кнопкой мыши Базы данных и выберите пункт Создать базу данных.If you are creating a new database, right-click Databases and then click New Database. Если использовать параметры сортировки по умолчанию не нужно, то перейдите на страницу Параметры и выберите нужный вариант в раскрывающемся списке Параметры сортировки .If you do not want the default collation, click the Options page, and select a collation from the Collation drop-down list.

    Если база данных уже существует, щелкните правой кнопкой мыши нужную базу данных и выберите пункт Свойства.Alternatively, if the database already exists, right-click the database that you want and click Properties. Перейдите на страницу Параметры , а затем выберите нужный вариант в раскрывающемся списке Параметры сортировки .Click the Options page, and select a collation from the Collation drop-down list.

  3. По завершении нажмите кнопку ОК.After you are finished, click OK.

Использование Transact-SQLUsing Transact-SQL

Задание параметров сортировки базы данныхTo set the database collation

  1. Установите соединение с компонентом Компонент Database EngineDatabase Engine.Connect to the Компонент Database EngineDatabase Engine.

  2. На панели «Стандартная» нажмите Создать запрос.From the Standard bar, click New Query.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.Copy and paste the following example into the query window and click Execute. В этом примере показано задание параметров сортировки с помощью предложения COLLATE .This example shows how to use the COLLATE clause to specify a collation name. В примере создается база данных MyOptionsTest , в которой используются параметры сортировки Latin1_General_100_CS_AS_SC .The example creates the database MyOptionsTest that uses the Latin1_General_100_CS_AS_SC collation. Чтобы проверить параметр, после создания базы данных выполните инструкцию SELECT .After you create the database, execute the SELECT statement to verify the setting.

USE master;  
GO  
IF DB_ID (N'MyOptionsTest') IS NOT NULL  
DROP DATABASE MyOptionsTest;  
GO  
CREATE DATABASE MyOptionsTest  
COLLATE Latin1_General_100_CS_AS_SC;  
GO  
  
--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  

Изменение параметров сортировки базы данныхTo change the database collation

  1. Установите соединение с компонентом Компонент Database EngineDatabase Engine.Connect to the Компонент Database EngineDatabase Engine.

  2. На панели «Стандартная» нажмите Создать запрос.From the Standard bar, click New Query.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.Copy and paste the following example into the query window and click Execute. В этом примере показано изменение имени параметров сортировки с помощью предложения COLLATE в инструкции ALTER DATABASE .This example shows how to use the COLLATE clause in an ALTER DATABASE statement to change the collation name. Выполните инструкцию SELECT , чтобы проверить изменение.Execute the SELECT statement to verify the change.

USE master;  
GO  
ALTER DATABASE MyOptionsTest  
COLLATE French_CI_AS ;  
GO  
  
--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  

См. также:See Also

Поддержка параметров сортировки и Юникода Collation and Unicode Support
sys.fn_helpcollations (Transact-SQL) sys.fn_helpcollations (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
Имя параметров сортировки SQL Server (Transact-SQL) SQL Server Collation Name (Transact-SQL)
Имя параметров сортировки Windows (Transact-SQL) Windows Collation Name (Transact-SQL)
COLLATE (Transact-SQL) COLLATE (Transact-SQL)
Очередность параметров сортировки (Transact-SQL) Collation Precedence (Transact-SQL)
CREATE TABLE (Transact-SQL) CREATE TABLE (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)