CREATE MASTER KEY(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