CREATE DATABASE ENCRYPTION KEY(Transact-SQL)
데이터베이스를 명시적으로 암호화하는 데 사용되는 암호화 키를 만듭니다. TDE(Transparent Data Encryption)에 대한 자세한 내용은 TDE(Transparent Data Encryption) 이해를 참조하십시오.
구문
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
ENCRYPTION BY SERVER
{
CERTIFICATE Encryptor_Name |
ASYMMETRIC KEY Encryptor_Name
}
[ ; ]
인수
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
암호화 키에 사용되는 암호화 알고리즘을 지정합니다.ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
데이터베이스 암호화 키를 암호화하는 데 사용되는 암호기의 이름을 지정합니다.ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
데이터베이스 암호화 키를 암호화하는 데 사용되는 비대칭 키의 이름을 지정합니다.
주의
데이터베이스 암호화 키가 있어야 TDE(Transparent Database Encryption)를 사용하여 데이터베이스를 암호화할 수 있습니다. 데이터베이스가 명시적으로 암호화되면 특수 코드의 수정 없이 전체 데이터베이스가 파일 수준에서 암호화됩니다. 데이터베이스 암호화 키를 암호화하는 데 사용되는 인증서 또는 비대칭 키는 master 시스템 데이터베이스에 있어야 합니다.
데이터베이스 암호화 문은 사용자 데이터베이스에서만 사용할 수 있습니다.
데이터베이스 암호화 키는 데이터베이스에서 내보낼 수 없습니다. 이 작업은 해당 시스템, 서버에서 디버깅 권한이 있는 사용자, 데이터베이스 암호화 키를 암호화하고 해독하는 인증서에 액세스할 수 있는 사용자만 수행할 수 있습니다.
Dbo(데이터베이스 소유자)가 변경될 경우 데이터베이스 암호화 키를 다시 생성하지 않아도 됩니다.
사용 권한
데이터베이스에 대한 CONTROL 권한과 데이터베이스 암호화 키를 암호화하는 데 사용되는 인증서 또는 비대칭 키에 대한 VIEW DEFINITION 권한이 필요합니다.
예
TDE를 사용하는 다른 예를 보려면 TDE(Transparent Data Encryption) 이해 및 방법: EKM을 사용하여 TDE 설정을 참조하십시오.
1. 데이터베이스 암호화 키 만들기
다음 예에서는 AES_256 알고리즘을 사용하여 데이터베이스 암호화 키를 만들고 MyServerCert라는 인증서로 개인 키를 보호합니다.
USE AdventureWorks
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO