你的位置:首页 > 数据库

[数据库]SQL Server 2008 数据库透明加密


数据透明加密注意事项:

   1、数据库加密只能在 企业版本进行,非企业版不能加密

   2、数据库加密完成,备份一个加密证书备用

  3、数据库一旦加密就解除不了加密 (加密前你可以把备份的数据库还原到任意可以还原的机器数据库上,加密完以后 即使关闭加密,如果要在另外机器上还原也需要吧原先的加密证书导入到机器上)

 

数据加密步奏

  1、创建数据库主密钥(每个数据库只有一个主密钥)

  

--创建主密钥use masterCREATE 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 jiamiGO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE Cret_testGO--开启加密ALTER DATABASE jiamiSET ENCRYPTION ONGO

备份数据库还原(不同机器)

   1、创建数据库主密钥 

         注释:最好和之前创建的一样

         

USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '主密钥'

 2、还原备份的证书

    

USE masterGO CREATE CERTIFICATE Cret_testFROM FILE=N'd:\Cret_test.cer'WITH PRIVATE KEY(  FILE=N'd:\Cret_test.pvk', DECRYPTION BY PASSWORD=N'私钥‘)GO

 3、还原数据库