SQL Server 2008中的代碼平安(八)通明加密(TDE)。本站提示廣大學習愛好者:(SQL Server 2008中的代碼平安(八)通明加密(TDE))文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server 2008中的代碼平安(八)通明加密(TDE)正文
示例1、啟用通明加密(TDE)
/********************TDE**************** [email protected] ****************/留意:一旦在數據庫運用了加密,應當連忙備份辦事器級證書!
沒有加密DEK的證書,該數據庫將沒法翻開,附加到其余辦事器也沒法應用,數據庫文件亦不會被Hack。假如一個DBA想要正當地將數據庫從一個SQL Server實例挪動到另外一個SQL Server實例,那末她應當起首備份辦事器級證書,然後在新的SQL Server實例中創立證書。此時可以正當地備份、復原數據庫或附加數據及日記文件。
示例2、治理和移除通明加密(TDE)
USE DB_Encrypt_Demo
GO
--修正加密算法
ALTER DATABASE ENCRYPTION KEY
REGENERATE WITH ALGORITHM = AES_128
Go
SELECT DB_NAME(database_id) databasenm,
CASE encryption_state
WHEN 0 THEN 'No encryption'
WHEN 1 THEN 'Unencrypted'
WHEN 2 THEN 'Encryption in progress'
WHEN 3 THEN 'Encrypted'
WHEN 4 THEN 'Key change in progress'
WHEN 5 THEN 'Decryption in progress'
END encryption_state,
key_algorithm,
key_length
FROM sys.dm_database_encryption_keys
/*
對一切用戶數據庫的加密處置也包括對tempdb的處置
databasenm encryption_state key_algorithm key_length
tempdb Encrypted AES 256
DB_Encrypt_Demo Encrypted AES 128
*/
留意:對一切用戶數據庫的加密處置也包括對tempdb的處置
除更改DEK的算法,我們也能夠更改用來加密DEK的辦事器級證書(該證書應當按期更改)
USE master
GO
CREATE CERTIFICATE TDE_Server_Certificate_V2
WITH SUBJECT = 'Server-level cert for TDE V2'
GO
USE DB_Encrypt_Demo
GO
ALTER DATABASE ENCRYPTION KEY
ENCRYPTION BY SERVER CERTIFICATE TDE_Server_Certificate_V2--用新證書修正DEK
--移除數據庫通明加密
ALTER DATABASE DB_Encrypt_Demo
SET ENCRYPTION OFF
GO
--移除TDE後,可以刪除DEK
USE DB_Encrypt_Demo
GO
Drop DATABASE ENCRYPTION KEY
Go
留意:假如刪除DEK是SQL Server實例中最初一個應用TDE的用戶界說數據庫,在SQL Server實例重啟後,tempdb也將變成不加密的狀況。
小結:
1、本文重要引見通明數據加密(TDE)的應用。
2、對DEK的修正同時影響到tempdb數據庫的加密狀況。
SQL Server平安系列至此暫告一段落。感謝列位耐煩看完,迎接對邀月提出斧正。[email protected]