Sql server 2008 Don';我不太了解SQL Server事务日志

Sql server 2008 Don';我不太了解SQL Server事务日志,sql-server-2008,database-replication,transaction-log,database-mirroring,Sql Server 2008,Database Replication,Transaction Log,Database Mirroring,我已经阅读了SQL Server事务日志,但仍然不完全熟悉如何使用/管理它们。我知道它们对于事务回滚、镜像、复制和日志传送等都很重要 对我来说,它们仍然像一个黑匣子,我对它们做任何事情都不太舒服。是否有工具允许我查看事务日志文件或获取有关它的信息?如果我不需要事务日志传送之类的东西,我可以定期收缩和/或截断日志文件吗?特别是在将备份恢复到测试实例的情况下—我真的需要占用空间的多GB日志文件吗?我还需要注意哪些其他功能对事务日志具有特殊依赖性,如果我收缩/截断日志文件,这些功能将不起作用?一般来说

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


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

一般来说,您不需要对事务日志执行任何操作,除非确保它们不会变得太大。虽然可以使用日志挖掘工具从中读取数据,但这种情况很少见,除非您对DBA角色的其他方面感到满意,否则不要担心它

它们是一个黑匣子,它们工作得很好

您应该选择适合您业务需要的恢复模式。通常,这将涉及确定是否需要时间点恢复,如果需要,可能是“完全恢复模型”或“简单恢复模型”

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

如果您偶尔使用简单恢复备份您的数据库,但要了解您不能执行时间点恢复

在Prod中有“完全恢复模型”,在dev和test中有“简单恢复模型”是很常见的。但你必须确定自己的特殊需求,自己做出决定

“收缩”事务日志最安全的方法是管理备份,这样就不必显式地进行备份


阅读有关恢复模式的内容,并随时提出后续问题。

在完全恢复模式下,日志中最后一次DB备份保留空间之后发生的任何事务。当备份发生时,Sql Server会释放该空间。它现在可用于以后的交易,从而防止过度增长,而不是“收缩”它本身。如果不备份数据库和/或事务日志,则不会释放空间,从而导致事务日志的增长。虽然可以缩减日志,但您的第一道防线应该是备份管理。