Sql server 如果我进行事务日志备份并截断日志文件,是否会丢失数据?

Sql server 如果我进行事务日志备份并截断日志文件,是否会丢失数据?,sql-server,database-administration,Sql Server,Database Administration,我有一个数据库,其中LDF文件约为14GB,MDF文件约为12GB 从未有人为此数据库执行过事务日志备份 尽管团队总是每天早上执行完全DB备份 导致日志文件的大小只是越来越大 现在,如果我备份它的事务日志并截断日志文件 我会丢失任何数据吗 我很好奇,因为日志备份减少了日志文件的大小,我只想确保它们不会受到我的MDF文件或数据库中的数据的任何影响 在进行t-log备份之后,好的策略是什么 我们应该恢复它以检查它是否工作正常吗 如果我恢复t-log备份,是否必须首先在该测试服务器上应用完全备份恢复

我有一个数据库,其中LDF文件约为14GB,MDF文件约为12GB

从未有人为此数据库执行过事务日志备份

尽管团队总是每天早上执行完全DB备份

导致日志文件的大小只是越来越大

现在,如果我备份它的事务日志并截断日志文件

我会丢失任何数据吗

我很好奇,因为日志备份减少了日志文件的大小,我只想确保它们不会受到我的MDF文件或数据库中的数据的任何影响

在进行t-log备份之后,好的策略是什么

我们应该恢复它以检查它是否工作正常吗

如果我恢复t-log备份,是否必须首先在该测试服务器上应用完全备份恢复

[SQL Server 2012]

简短的回答是“你不会失去比平时更多的东西”。但是,有几种情况可能会影响您的最终决定

当然,您的团队应该问自己的第一个问题是,“如果我们从不进行日志备份,为什么数据库处于完全恢复模式”?对于DEV数据库,日志备份在大多数情况下是不必要的,因此将其切换到
SIMPLE
recovery,发出
检查点,然后可以截断日志。哦,在那之后它不会增长很多,除非有人在一个事务中运行一个大的修改批处理

只需确保在截断模式之间切换即可。最可能的情况是,您需要同时使用NOTRUNCATE和TRUNCATEONLY

您是否应该开始定期进行日志备份取决于您的工作流程和数据的重要性。完全恢复模式的主要好处是:

  • 在发生灾难的情况下,您不会丢失上次完整/差异备份后所做的修改,只有在上次事务日志备份后(如果定期备份,通常会很短,因此对服务器的压力较小)。但是,如果您的事务日志文件在崩溃中幸存下来,并且您能够在数据库变得不可用后执行恢复,则不会丢失任何内容
  • 您可以对数据库执行时间点恢复,这有时是一项至关重要的功能—例如,在调查数据损坏/丢失或任何其他此类调查时。然而,正如我所说,开发数据库很少如此珍贵
  • 所以权衡一下这些选择,考虑一下你的细节,答案就来了。如果没有,我建议您将注意力转向dba.stackexchange.com,因为当前形式的问题实际上与开发无关。

    简短的回答是“您不会失去比正常情况下更多的东西”。但是,有几种情况可能会影响您的最终决定

    当然,您的团队应该问自己的第一个问题是,“如果我们从不进行日志备份,为什么数据库处于完全恢复模式”?对于DEV数据库,日志备份在大多数情况下是不必要的,因此将其切换到
    SIMPLE
    recovery,发出
    检查点,然后可以截断日志。哦,在那之后它不会增长很多,除非有人在一个事务中运行一个大的修改批处理

    只需确保在截断模式之间切换即可。最可能的情况是,您需要同时使用NOTRUNCATE和TRUNCATEONLY

    您是否应该开始定期进行日志备份取决于您的工作流程和数据的重要性。完全恢复模式的主要好处是:

  • 在发生灾难的情况下,您不会丢失上次完整/差异备份后所做的修改,只有在上次事务日志备份后(如果定期备份,通常会很短,因此对服务器的压力较小)。但是,如果您的事务日志文件在崩溃中幸存下来,并且您能够在数据库变得不可用后执行恢复,则不会丢失任何内容
  • 您可以对数据库执行时间点恢复,这有时是一项至关重要的功能—例如,在调查数据损坏/丢失或任何其他此类调查时。然而,正如我所说,开发数据库很少如此珍贵

  • 所以权衡一下这些选择,考虑一下你的细节,答案就来了。如果没有,我建议您将注意力转向dba.stackexchange.com,因为当前形式的问题实际上与开发无关。

    您的数据库恢复模型是
    完整的
    ,这意味着
    sql
    在得到日志备份之前,不要过度写入
    ldf
    数据页,然后再进行过度写入 在那之后,你的日志不会变大,除非你有一个巨大的交易 所以,您可以声明一些日志备份作业或将恢复模型更改为simple
    当然,完全恢复模式更好,但请记住,您应该保留上次完全备份后进行的每个日志备份

    您的数据库恢复模式是
    full
    ,这意味着
    sql
    在获得日志备份之前,不要过度写入
    ldf
    数据页,然后再进行过度写入 在那之后,你的日志不会变大,除非你有一个巨大的交易 所以,您可以声明一些日志备份作业或将恢复模型更改为simple 当然,完全恢复模式更好,但请记住,您应该在上次完全备份后保留每次日志备份

    您的“团队”需要认真讨论灾难恢复和角色/职责。如果完全恢复模式是合适的,那么您的团队需要制定正确实施该模式的计划,并确保在计划的基础上采取适当的行动。您的“团队”需要认真讨论灾难恢复和角色/职责。如果完全恢复模式是合适的,那么您的团队需要制定正确实施该模式的计划,并确保适当的