数据透明加密注意事项:
1、数据库加密只能在 企业版本进行,非企业版不能加密
2、数据库加密完成,备份一个加密证书备用
3、数据库一旦加密就解除不了加密 (加密前你可以把备份的数据库还原到任意可以还原的机器数据库上,加密完以后 即使关闭加密,如果要在另外机器上还原也需要吧原先的加密证书导入到机器上)
数据加密步奏
1、创建数据库主密钥(每个数据库只有一个主密钥)
--创建主密钥
use master
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='主密钥'
go
2、创建加密证书 并备份
--创建证书 CREATE CERTIFICATE Cret_test with SUBJECT = 'Certificate test' GO --以私钥备份证书 BACKUP CERTIFICATE Cret_test TO FILE=N'D:\Cret_test.cer' WITH PRIVATE KEY ( FILE =N'D:\Cret_test.pvk', ENCRYPTION BY PASSWORD='私钥' ) GO |
3、用证书加密数据库
--加密数据库 USE jiami GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE Cret_test GO --开启加密 ALTER DATABASE jiami SET ENCRYPTION ON GO |
备份数据库还原(不同机器)
1、创建数据库主密钥
注释:最好和之前创建的一样
USE master
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '主密钥'
2、还原备份的证书
USE master GO CREATE CERTIFICATE Cret_test FROM FILE=N'd:\Cret_test.cer' WITH PRIVATE KEY ( FILE=N'd:\Cret_test.pvk', DECRYPTION BY PASSWORD=N'私钥‘ ) GO |
3、还原数据库