试试这个你几乎从来没有进行过的试验。对Northwind数据库进行备份,或者任何其它小型数据库,然后用任意的文本编辑器打开备份文件。你将会看到数据自身有一点难以理解,但是只要你看到存储过程的注释,然后通读一下文件,你就会看到你的备份文件的真正价值所在。假如你采取行动,将用户ID和/或密码存储在你的存储过程中,首先这可不是一个好主意,这个数据现在就可以被任何能够接触到备份数据库的人所访问。假如你有其他藏有秘密信息的文本数据类型,你也会让这些数据非常有意义了。
备份密码
SQL Server中的一个选项就是创建用密码创建备份。这是你在创建备份的时候可以使用的另一个选择,但是在企业版治理器或者SQL Server治理套件中,并没有提供这个选项。这里是一个使用密码选项备份的例子:
backup database northwind to disk='c:northwind.bak' with mediapassword = 'Backup2006'
这个过程需要密码来重新存储文件,但是使用文本编辑器,这些数据仍然是可以访问的。还有,重新存储不能使用GUI来完成,所以它必须通过T-SQL重新存储命令和密码一起完成任务。
加密存储过程
一种防止你的存储过程被用于查看的方法就是在创建你的存储过程的时候使用“带加密”的选项。这样的话,备份文件中的数据也是经过加密的了。要使用加密来创建一个存储过程,如下所示:
| create procedure dbo.testEncryption with encryption as SELECT * FROM products |
加密数据
另一个选择就是在你把数据存储到你的数据库表中的时候,对数据进行加密。在SQL Server 2000中没有本地的方法来完成,但是有很多工具你可以使用:
针对SQL Server的NetLib Encryptionizer
使用XP_CRYPT加密SQL Server
SQL Server 2005中存在本地加密功能。看看微软的文章<>如何:加密一列数据,那里解释了这个过程。在你加密了数据库中的数据之后,当你创建备份的时候,数据仍然是经过加密的。
保证文件系统的安全
保卫你的备份文件的安全的另一个方法就是在你的服务器或者网络中使用安全目录。你可以限制访问这个目录的权限,这样就只有一小部分受限制的人能够访问你的备份文件。通过在安全目录上使用上述的技术,你就可以创建另一个级别的安全措施了。这仍然不会消除加密的需求,但是它提供了额外的安全措施。
直接备份到磁带
备份的另一个选择就是直接备份到磁带上,以便在你的网络中保证备份文件的安全。这种方法减少了对你的备份文件的不正当访问的问题。用这种方式有一个大问题:我写入的大部分关于备份的内容都是首先写入磁盘的,以便在必要的时候能够快速重新存储,然后再为了长期的存储而归档到磁带上。这种方式消除了你的备份落入坏人之手的机会,但是,不幸的是,它让其他的处理过程变得困难。
加密备份
评论加载中…
![]() |