티스토리 뷰

Others

MSSQL 암호화 백업, 복구

j0n9m1n1 2023. 11. 9. 21:32
반응형

마스터 키 및 인증서 생성(백업할 PC에서)

- sa 로그인 필요

 

키 생성

USE master;   
GO   

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'your_key_password!';   
GO

 

인증서 생성

Use master   
GO   

CREATE CERTIFICATE MyDBBackupEncryptCert   
   WITH SUBJECT = 'Backup Encryption Certificate', 
   EXPIRY_DATE = '12/31/2050';   
GO

 

백업 스케쥴 등록

- 링크로 대체, 해당 링크의 6번 스텝에 옵션 탭에서 백업 암호화 선택 후 아래 콤보 박스에서 위에서 생성한 인증서 선택 해야함

https://aroundlena.tistory.com/75 

 

인증서 백업

- 미리 다른 곳으로 옮겨두기, PC 고장으로 전부 날아갈까봐...

 

BACKUP CERTIFICATE DBBackupEncryptCert TO FILE = 'C:\your\path\DBBackupEncryptCert.cer' 
WITH PRIVATE KEY  
( 
    FILE = 'C:\your\path\DBBackupEncryptCert.pvk', 
    ENCRYPTION BY PASSWORD = 'your_password!' 
);

 

 

이제 복구 과정, 다른 PC 또는 신규 DB에서

- sa 로그인

 

마스터 키 생성

- 위랑 동일함

USE master;   
GO   

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'your_key_password!';   
GO

 

아까 백업한 인증서 DB에 등록하기

- 이걸 해야 SSMS에서 복구 파일을 읽을 수 있음

CREATE CERTIFICATE [Backup_Certificate] AUTHORIZATION [dbo] FROM FILE = 'C:\your\path\DBBackupEncryptCert.cer' 
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'your_key_password',  
FILE = 'C:\your\path\DBBackupEncryptCert.pvk')

 

이제 데이터를 넣을 데이터베이스를 만들고, ssms에서 해당 db 우클릭 > 데이터베이스 복원 > 디바이스에서 파일 선택 > bak 파일 선택 > 아래 대상 db는 방금 create한 db 선택 하여 복구 진행

 

만약 복원할 대상의 db name이 현재 db에 존재하고 mdf파일이 기본 경로에 있다면 복구될 mdf 파일이 이미 존재 하기 때문에  mdf 파일의 이름을 바꾸거나, 경로를 바꿔줘야 함

 

좌측의 파일 탭에서 mdf, ldf 파일명 변경 또는 경로 변경 

 

댓글

티스토리 방명록

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday