数据库复制 - 不太了解 SQL Server 事务日志



我已经阅读了SQL Server事务日志,但仍然不完全了解如何使用/管理它们。我知道它们对于事务回滚、镜像、复制和日志传送等很重要。

对我来说,它们仍然看起来像一个黑匣子,我对它们做任何事情并不完全舒服。是否有工具允许我查看事务日志文件或获取有关它的信息?如果我不需要事务日志传送之类的东西,是否可以定期收缩和/或截断日志文件?特别是在将备份还原到测试实例的情况下 - 我真的需要一个占用空间的数 GB 日志文件吗?我还需要注意哪些其他功能,这些功能特别依赖于事务日志,并且在收缩/截断日志文件时不起作用?

作为一般规则,除了确保它们不会太大之外,您不需要对事务日志"执行"任何操作。 虽然可以使用日志挖掘工具从他们那里读取,但这种情况很少见,并且在您对 DBA 角色的其他方面感到满意之前,不要担心它。

他们是一个黑匣子,他们像那样工作得很好。

应选择适合业务需求的恢复模式。 通常,这将涉及确定是否需要时间点恢复,如果是,则可能是"完整恢复模式",或者"简单恢复模式"。

如果您确实使用完整恢复模式,则需要偶尔备份数据库(每天或每周,差异是这里的常见选项),并且事务日志每 15 分钟、每小时几小时备份一次,具体取决于事务量、可用空间以及在最坏情况下可以承受的最大数据丢失量。

如果您偶尔使用简单恢复备份数据库,但了解您无法执行时间点恢复。

生产中使用"完整恢复模式",在开发和测试中使用"简单恢复模式"是很常见的。 但是您必须确定自己的特定需求并自己做出决定。

"收缩"事务日志的最安全方法是管理备份,这样就不必显式执行此操作。

阅读恢复模式,并随时提出后续问题。

最新更新