2018.11.19 17:59

TDE(Transparent Data Encryption)

TDE(Transparent Data Encryption)   진행시에는 필히 Enterprise 버전에서 하시기 바랍니다.(계발자버전에서도됨)

(Standard 버전에서 하다가 왜 안되지 안되지 100번 했음)






--마스터키생성

USE master

GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'm123bile111**11'

GO



-- 추가) 마스터 인증서 삭제(인증서가 있을경우 삭제되지 않는다)

USE master;

drop master key;

GO



-- 인증서 생성.

CREATE CERTIFICATE YD_TEST_cert WITH SUBJECT = '암호화된인증서'

GO



-- 생성된 인증서 확인.

SELECT name, certificate_id, pvt_key_encryption_type, pvt_key_encryption_type_desc, subject 

FROM sys.CERTIFICATES





-- 추가)인증서 삭제

use master;

drop certificate YD_TEST_cert;



-- Master 인증서 백업

USE master

BACKUP SERVICE MASTER KEY TO FILE = 'D:\Service_master.key' ENCRYPTION BY PASSWORD = 'm123bile111**11'

GO


BACKUP MASTER KEY TO FILE = 'D:\Database_master.key' ENCRYPTION BY PASSWORD = 'm123bile111**11'

GO


-- DB 암호화키 생성.

USE YD_TEST

GO


CREATE DATABASE ENCRYPTION KEY

WITH ALGORITHM = AES_256

ENCRYPTION BY SERVER CERTIFICATE YD_TEST_cert 

GO



-- DB 암호화 적용

use YD_TEST

go

ALTER DATABASE YD_TEST

SET ENCRYPTION ON

go



-- 키백업

use master

backup Certificate YD_TEST_Cert To File='D:\YD_TEST_Cert.cer' 

with Private Key 

(File='D:\YD_Test_Cert.pvk',ENCRYPTION By Password='m123bile111**11')

go





--DB 복원진행.

--TDE 암호화된 백업 파일이 있다면 아래와 같이 진행한다.

--이전에 생성되었던 키 암호와 동일하게 한디.

CREATE CERTIFICATE Mypage

  FROM FILE = 'D:\Keyfile\MyPage_Cert.cer'

  WITH PRIVATE KEY ( 

    FILE = 'D:\Keyfile\Mypage_cert.pvk',

 DECRYPTION BY PASSWORD = '2134do223dddd'

  );


-- DB 복원

USE [master]

RESTORE DATABASE [Mypage] 

FROM  DISK = N'D:\SQL_Backup\Mypage_backup.bak' 

WITH  FILE = 1,  

MOVE N'Hanbiro_Mypage_Data' TO N'D:\SQL_DATA\Mypage.MDF',  

MOVE N'Hanbiro_Mypage_Log' TO N'D:\SQL_DATA\Mypage.LDF',  

NOUNLOAD,  STATS = 5

GO



Trackback 0 Comment 0