다음을 통해 공유


CREATE MASTER KEY(Transact-SQL)

데이터베이스 마스터 키를 만듭니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

인수

  • PASSWORD ='password'
    데이터베이스의 마스터 키를 암호화하는 데 사용되는 암호입니다. password는 SQL Server 인스턴스를 실행하는 컴퓨터의 Windows 암호 정책 요구 사항을 따라야 합니다.

주의

데이터베이스 마스터 키는 데이터베이스에 있는 인증서와 비대칭 키의 개인 키를 보호하는 데 사용되는 대칭 키입니다. 마스터 키는 생성 시에 Triple DES 알고리즘 및 사용자 제공 암호를 사용하여 암호화됩니다. 마스터 키의 자동 암호 해독을 설정하기 위해 키 복사본이 서비스 마스터 키를 사용하여 암호화되고 해당 데이터베이스 및 master에 모두 저장됩니다. 일반적으로 master에 저장된 복사본은 마스터 키가 변경될 때마다 자동으로 업데이트됩니다. 이 기본값은 ALTER MASTER KEY의 DROP ENCRYPTION BY SERVICE MASTER KEY 옵션을 사용하여 변경할 수 있습니다. 서비스 마스터 키를 사용하여 암호화되지 않은 마스터 키는 OPEN MASTER KEY 문과 암호를 사용하여 열어야 합니다.

master에서 sys.databases 카탈로그 뷰의 is_master_key_encrypted_by_server 열은 데이터베이스 마스터 키가 서비스 마스터 키로 암호화되었는지 여부를 나타냅니다.

데이터베이스 마스터 키에 대한 정보는 sys.symmetric_keys 카탈로그 뷰에 표시됩니다.

중요 정보중요

마스터 키는 BACKUP MASTER KEY를 사용하여 백업하고 백업 복사본을 외부의 안전한 위치에 보관해야 합니다.

사용 권한

데이터베이스에 대한 CONTROL 권한이 필요합니다.

다음 예에서는 AdventureWorks 데이터베이스에 대한 데이터베이스 마스터 키를 만듭니다. 이 키는 23987hxJ#KL95234nl0zBe 암호를 사용하여 암호화됩니다.

USE AdventureWorks;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO