OPEN MASTER KEY(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics 예병렬 데이터 웨어하우스

현재 데이터베이스의 데이터베이스 마스터 키를 엽니다.

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

구문

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'   

참고

이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.

참고

SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

'password'
데이터베이스 마스터 키를 암호화할 때 사용한 암호입니다.

설명

서비스 마스터 키를 사용하여 암호화한 데이터베이스 마스터 키의 경우 해독 또는 암호화를 위해 필요할 때 자동으로 열립니다. 이 경우에는 OPEN MASTER KEY 문을 사용할 필요가 없습니다.

데이터베이스가 새 SQL Server인스턴스로 처음으로 연결되거나 복원될 때 데이터베이스 마스터 키(서비스 마스터 키로 암호화됨)의 복사본은 서버에 아직 저장되지 않은 상태입니다. 데이터베이스 마스터 키를 암호 해독하려면 OPEN MASTER KEY 문을 사용해야 합니다. DMK를 암호 해독한 후에는 ALTER MASTER KEY REGENERATE 문을 사용하여 SMK(서비스 마스터 키)로 암호화된 DMK의 복사본을 서버에 프로비전함으로써 앞으로 자동 암호 해독을 사용하도록 설정할 수 있습니다. 데이터베이스가 이전 버전에서 업그레이드되지 않은 경우에는 DMK를 다시 생성해야 최신 AES 알고리즘을 사용할 수 있습니다. DMK를 다시 생성하는 방법은 ALTER MASTER KEY(Transact-SQL)를 참조하세요. AES로 업그레이드하기 위해 DMK 키를 다시 생성하는 데 소요되는 시간은 DMK에서 보호하는 개체 수에 따라 달라집니다. AES로 업그레이드하기 위해 DMK 키를 다시 생성하는 작업은 한 번만 필요하며 키 회전 전략의 일부로 이후에 수행하는 다시 생성 작업에 영향을 주지 않습니다.

ALTER MASTER KEY 문에 DROP ENCRYPTION BY SERVICE MASTER KEY 옵션을 사용하면 특정 데이터베이스의 데이터베이스 마스터 키를 자동 키 관리에서 제외할 수 있습니다. 이후부터 해당 데이터베이스 마스터 키는 암호를 사용하여 명시적으로 열어야 합니다.

데이터베이스 마스터 키를 명시적으로 연 트랜잭션이 롤백되면 이 키는 열린 상태로 남게 됩니다.

사용 권한

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

예제

다음 예에서는 암호로 암호화된 AdventureWorks2012 데이터베이스의 데이터베이스 마스터 키를 엽니다.

USE AdventureWorks2012;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';  
GO  

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

다음 예에서는 암호로 암호화된 데이터베이스 마스터 키를 엽니다.

USE master;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';  
GO  
CLOSE MASTER KEY;  
GO  

관련 항목

CREATE MASTER KEY(Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)
BACKUP MASTER KEY (Transact-SQL)
RESTORE MASTER KEY (Transact-SQL)
ALTER MASTER KEY(Transact-SQL)
DROP MASTER KEY (Transact-SQL)
암호화 계층