在SQL Server 2008中执行透明数据加密
2008-09-27 10:05:31 来源:WEB开发网因为你的本地备份是可读的,所以它们易于受到威胁,因为它们可以以清晰的文本形式读取到。这使得别人只要看看你的数据库备份就可以从这些文件获得数据。更糟的是,任何人都可以将你的数据库备份恢复到另一个SQL Server实例上。我们将简要地介绍这个过程。
现在我们在我们的Northwind数据库上执行透明数据加密,首先在服务器上建立加密。为了做到这一点,我们在主数据库上创建数据库主钥。
USEmaster
GO
CREATEMASTERKEYENCRYPTIONBYPASSWORD='mY_P@$$w0rd'
然后,我们创建基于服务器的证书,它将用于加密这个数据库。
CREATECERTIFICATENorthwindCert
WITHSUBJECT='MyDEKCertificateforNorthwinddatabase'
然后我们将为Northwind数据库设置解密,通过使用我们刚刚创建的证书创建一个数据库加密密钥和密码。
USENorthwind
GO
CREATEDATABASEENCRYPTIONKEY
WITHALGORITHM=AES_128
ENCRYPTIONBYSERVERCERTIFICATENorthwindCert
GO
因为有一些不同的选择,所以加密算法选择是你自己的。在创建数据库加密密钥之后,我们将激活数据库级别的加密。
ALTERDATABASENorthwind
SETENCRYPTIONON
让我们备份这个加密的Northwind数据库,但是这次使用一个不同的文件名。
BACKUPDATABASENorthwind
TODISK='C:Northwind_encrypted.bak'
WITHINIT,STATS=10
加密备份花费的时间将比未加密的备份稍长一些。如果你打开这个加密数据库备份并搜索我们之前搜索的字符串“A r i a C r u z”,你将搜索不到它。你可以滚动这个文本并注意到这个加密的数据与你在未加密备份中看到的不一样。
更多精彩
赞助商链接