데이터베이스 데이터 정렬 설정 또는 변경Set or Change the Database Collation

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL에서 데이터베이스 데이터 정렬을 설정하고 변경하는 방법에 대해 설명합니다.This topic describes how set and change the database collation in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 데이터 정렬을 지정하지 않으면 서버 데이터 정렬이 사용됩니다.If no collation is specified, the server collation is used.

항목 내용In This Topic

시작하기 전 주의 사항 Before You Begin

제한 사항 Limitations and Restrictions

  • Windows 유니코드 전용 데이터 정렬은 COLLATE 절에서 열 수준 및 식 수준 데이터의 nchar, nvarcharntext 데이터 형식에 데이터 정렬을 적용하기 위해서만 사용할 수 있고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 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 Engine displays an error.

권장 사항 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.

  • 사용자 데이터베이스에서 새로 만든 새 개체의 데이터 정렬은 ALTER DATABASE 문의 COLLATE 절을 사용하여 변경할 수 있습니다.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. 이러한 열은 ALTER TABLE문의 COLLATE 절을 사용하여 변경할 수 있습니다.These can be changed by using the COLLATE clause of ALTER TABLE.

보안 Security

사용 권한 Permissions

CREATE DATABASECREATE DATABASE
master 데이터베이스의 CREATE DATABASE 권한이 있거나 CREATE ANY DATABASE 또는 ALTER ANY DATABASE 권한이 있어야 합니다.Requires CREATE DATABASE permission in the master database, or requires CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

ALTER DATABASEALTER DATABASE
데이터베이스에 대한 ALTER 권한이 필요합니다.Requires ALTER permission on the database.

SQL Server Management Studio 사용 Using SQL Server Management Studio

데이터베이스 데이터 정렬을 설정하거나 변경하려면To set or change the database collation

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진SQL Server Database Engine의 인스턴스에 연결하고 해당 인스턴스를 확장한 다음 데이터베이스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL 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-SQL 사용 Using Transact-SQL

데이터베이스 데이터 정렬을 설정하려면To set the database collation

  1. 데이터베이스 엔진Database Engine에 연결합니다.Connect to the 데이터베이스 엔진Database 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 Engine에 연결합니다.Connect to the 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.From the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute. 이 예에서는 ALTER DATABASE 문에 COLLATE 절을 사용하여 데이터 정렬 이름을 변경하는 방법을 보여 줍니다.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)