数据库加密的3种方式优劣对比

Apr 30, 2014 at 9:02 AM
3种备份方式

可以restore,但是无法查看具体数据
在本地数据库中进行密码加密,三种加密模式(证书,对称,非对称),即使对数据库查询,也需要做解码,每次登陆数据库才需要解码一次,数据库大小,密码类型和密码长度影响解码的performance
详细操作:
/创建主密码,每个数据库唯一/
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='Test@123'
/创建对称密码/
CREATE SYMMETRIC KEY TestSymmetric
WITH ALGORITHM = AES_256
ENCRYPTION BY PASSWORD = 'Test@123';
/创建证书/
CREATE CERTIFICATE CertTest with SUBJECT = 'Test Certificate'
/创建非对称密码/
CREATE ASYMMETRIC KEY TestAsymmetric
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = 'test@123';
/打开对称密码,数据库中所有数据无法查询,除非解除密码/
OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY PASSWORD = 'Test@123';
/解除密码/
close symmetric key testsymmetric



直接对备份文件做加密,不提供密码无法restore
不是对本地数据库做加密,单独对备份文件做加密,所以一旦restore以后任何人可以查看,无需第二次密码
可使用备份机密码:在做还原之前必须提供密码
可使用媒体及密码:在所指定的媒体上创建备份机时必须提供密码
Sqlserver 2012不再支持此功能


在用rar压缩时,使用加密压缩
直接在外部使用rar的加密压缩
http://blog.csdn.net/sl521100/article/details/4396193
  SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,该选项使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。 默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以使用基于策略的管理或运行 sp_configure 系统存储过程来启用它,如下面的代码示例所示:
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
Marked as answer by network_sicong on 4/30/2014 at 1:03 AM