我已经阅读了SQL Server事务日志,但对如何使用/管理它们仍然不太满意。我知道它们对事务回滚,镜像,复制和日志传送等很重要。
对我来说,它们看起来仍然像一个黑盒子,我对它们做任何事都不太舒服。是否有工具允许我查看事务日志文件或获取有关它的信息?如果我不需要事务日志传送之类的东西,我可以定期收缩和/或截断我的日志文件吗?特别是在将备份还原到测试实例的情况下 - 我真的需要一个占用空间的数GB日志文件吗?我需要注意哪些其他功能特别依赖于事务日志,如果我收缩/截断日志文件则无法工作?
答案 0 :(得分:5)
作为一般规则,您不应该对事务日志“执行”任何操作,除非确保它们不会太大。虽然可以使用日志挖掘工具从它们中读取,但这很少见,并且在您熟悉DBA角色的其他方面之前,请不要关心它。
他们是一个黑盒子,他们的工作很好。
您应该选择适合您业务需求的恢复模式。一般来说,这将涉及确定您是否需要时间点恢复,如果可能的话,可能是“完全恢复模型”,否则“简单恢复模型”。
如果你确实使用完全恢复模式而不是需要备份你的数据库(每天或每周,差异是这里常见的选项),你的交易记录每15分钟,每小时几小时,取决于交易的数量,空间可用以及您在最糟糕的情况下可以承受的最大数据量。
如果您有时使用简单恢复备份数据库,但了解您无法进行时间点恢复。
在Prod中使用“完全恢复模型”和在开发和测试中使用“简单恢复模型”是很常见的。但是你必须确定自己的特殊需求并自己做出决定。
“缩小”事务日志的最安全方法是管理备份,以便您永远不必明确这样做。
阅读恢复模型,随时提出后续问题。