我正在 SQL Server 2008 Express R2 中创建一个新数据库。在“新建数据库”对话框中,我可以看到设置恢复模式的选项,默认设置为:简单。如果我将其设置为 Full,会发生什么?
我还看到了以下属性:自动收缩和加密。我查看了 Auto-Shrink 属性的在线帮助,其中显示了有关精简版的信息。但我的数据库将驻留在服务器上,它不是一个紧凑的数据库。我应该启用它吗?在服务器级数据库上启用它有什么优势?
我也想使用 Encryption 属性,但我担心如果处理不当可能会使数据库不可读。
请对这些有所了解。
简单恢复模式意味着您没有时间点恢复的选项 - 本质上,如果您每天对数据库进行完整备份,那么如果出现问题,您在备份后输入的任何数据都可能会丢失。您将恢复到上次良好备份中数据的状态。只要您的数据在完整备份之间没有太大变化,这是最简单的解决方案。
完全恢复意味着您还需要定期进行事务日志备份——它允许您在出现问题时恢复到某个时间点。通常,您可能每天对数据库进行一次完整备份,并每小时备份一次事务日志。问题是,如果事务日志备份失败,事务日志本身就会增长——如果没有修复,就会填满磁盘。
自动收缩是 SQL Server 在空闲时尝试收缩数据库文件的设置。它会导致性能破坏,并将在未来的 SQL Server 版本中删除。不要使用它!(gbn 加粗!)
加密有点复杂,最好不要管,除非你真的了解所有涉及的内容恕我直言。
启用加密允许您的数据库使用 TDE(透明数据加密)。此机制已在 SQL 2008 及更高版本中实现,并提供比以前的加密方法更好的整体性能。TDE 会略微增加 CPU 和 IO 使用率,因此应该针对已经使用大量 CPU 和 IO 的系统进行适当的测试。在性能和安全性之间存在权衡。
使用这种加密还涉及安全对象的设置,这些对象必须正确备份和保留。因此,当您需要恢复加密时,丢失这些安全对象会带来问题。
完整/简单模式已由 Peter Schofield 回答,gbn 已通过链接指出对自动收缩该做什么(或不做什么)。
至于 .mdf 和 .ldf 文件,它们会正常工作,直到出现问题,这就是您真正需要备份的时候。如果您的分配页面中有损坏,则在尝试重新连接数据库时会遇到问题。我建议进行备份和恢复,而不是分离和附加。由于您不想要时间点恢复,因此您需要完整备份。