-
TDE 암호화 된 데이터 베이스 마이그레이션카테고리 없음 2024. 3. 13. 13:53
위의 참고자료는
아래는 원본 서버에서 실행
-- 원본 SQL Server에서 TDE 인증서의 마스터 키 백업
USE master;
BACKUP MASTER KEY TO FILE = 'D:\TDE\20240313\MasterKeyBackup.key'
ENCRYPTION BY PASSWORD = 'P@ssw0rd!';
-- 원본 SQL Server에서 TDE 인증서의 개인 키 백업
USE master;
BACKUP CERTIFICATE YourCertificateName TO FILE = 'D:\TDE\20240313\CertBackup.cer'
WITH PRIVATE KEY (FILE = 'D:\TDE\20240313\PrivateKeyBackup.key',
ENCRYPTION BY PASSWORD = 'P@ssw0rd!');
-- 목적지 SQL Server로 TDE 인증서 백업 파일을 복사
USE master ;
GO아래는 목적지 서버에서 수행
-- 목적지 SQL Server에서 마스터 키 복원
USE master;
RESTORE MASTER KEY FROM FILE = 'D:\TDE\MasterKeyBackup.key'
DECRYPTION BY PASSWORD = 'P@ssw0rd!'
ENCRYPTION BY PASSWORD = ' P@ssw0rd!';
-- 위 단계에서 가지고 온 마스터 키에 대한 세션 키를 개방
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'P@ssw0rd!';
-- 목적지 SQL Server에서 TDE 인증서 복원
USE master;
CREATE CERTIFICATE YourCertificateName FROM FILE = 'D:\TDE\CertBackup.cer'
WITH PRIVATE KEY (FILE = 'D:\TDE\PrivateKeyBackup.key',
DECRYPTION BY PASSWORD = 'P@ssw0rd!');
-- 복원된 TDE 인증서를 사용하여 데이터베이스의 TDE 설정 변경
ALTER DATABASE YourDatabaseName SET ENCRYPTION ON;
ALTER DATABASE YourDatabaseName SET ENCRYPTION ON SERVER CERTIFICATE YourCertificateName;메시지 15581, 수준 16, 상태 7, 줄 18
이 작업을 수행하기 전에 데이터베이스에서 마스터 키를 만들거나 세션의 마스터 키를 여십시오.위의 오류 메시지가 나오면 아래와 같이 마스터 키 세션을 열어 준다.
-- 마스터 키 세션 열기
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'P@ssw0rd!';위와 같은 오류가 발생할 때 아래의 명령어를 수행하라.
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEYactive-active node sql 마이그레이션 중이고 위는 신규 1번 노드였고, 지금 부터는 2번 노드
위 단계의 인증서 백업 후, 신규 2번 서버에 인증서를 설치하려고 했더니 아래와 같은 오류가 발생
자, 이제 해결 해보자.
해결!
이유는 참으로 어리석은 행동이 원인이었다. MS SQL 의 쿼리 실행은 여러대의 SQL Instance 를 연결했을 때는 SSMS 최상단에 표시된 문구를 확인하고 실행을 해야 한다. 원인은 두 대의 인스턴스가 있는 서버에서 실제 B 노드에서 실행해야 하는 쿼리를 A노드에서 실행하고 있었기 때문이다.
아래 그림의 파란색으로 칠해진 부분이 호스트네임\인스턴스네임 인데, 쿼리를 실행할 때, 반드시 확인해야 한다는 사실!