【问题标题】:Implications of full backup of running SQL Server database every 4th minute每 4 分钟对正在运行的 SQL Server 数据库进行完整备份的含义
【发布时间】:2009-01-19 14:27:24
【问题描述】:

我有一个客户在一个重度使用的数据库上每 4:th 分钟将数据库的完整备份设置到网络路径。 我强烈建议客户不要这样做,而是进行事务备份。

但是以这种方式进行完整备份时可能发生的坏事是什么?除此之外,备份永远不会有正确的数据,因为在进行备份时数据库被大量使用。以及服务器的工作量。

我与该客户有几个与 sql 相关的问题 (webservicesql),我想从技术上了解此备份方案是否可能是问题的一部分?

当然,我将通过在测试时停止备份并查看事件日志等来开始对此进行调查。但是我很好奇是否有人可以直接说“不,这将锁定 X 并抛出 Y 并且很糟糕”或其他什么。 ;)

【问题讨论】:

  • 什么样的问题?备份会损害性能,但至少应该完好无损...... .NET 中一个更常见的问题是忘记释放 (Dispose()) 连接回池,使其饱和......那么你看到了什么症状?跨度>
  • @Marc,我还没有调查过,我有一些错误日志指出它无法打开 sqlconnection。 Web服务引发客户端捕获的错误,我认为我没有得到内部异常,而是肥皂异常。将对此进行进一步研究。

标签: .net sql-server backup


【解决方案1】:

如果它是一个小型数据库,我猜是这样,除了一点额外的负载之外,它可能不会造成任何伤害,但如果他们需要确保不会丢失数据,他们应该这样做每日完整备份和每隔几分钟的日志备份而不是完整备份,并将日志传送到备用服务器,或设置镜像。

【讨论】:

  • 我会将此和此处发布的其他答案作为备份不是问题的指示(但当然可以通过日志传送和其他解决方案做得更好),并且我的 sql-相关问题必须是其他问题。
【解决方案2】:

您是否可以运行第二个 MSSQL 服务器以实现冗余?并且两台服务器都在 raid 镜像中?

或者您可以使用 Red Gate 之类的东西每 5 分钟备份一次数据。它死了!!!并且有很多压缩/加密。我们每 10 分钟对一个包含 100 万条记录的数据库进行备份。没问题!

你真的要问你的客户为什么要每 4 分钟备份一次数据库?

【讨论】:

    【解决方案3】:

    只要您将数据文件置于与 MSSQL 等效的“备份模式”中,备份就应该是有效的,但这似乎是一种难以置信的重大备份方式。即使是“每小时完整备份,持续基于日志的备份”也将是一个巨大的改进。

    当然,这在很大程度上取决于数据库的大小,如果是 5-10 Meg 的数据库,开销可能会反过来,但这似乎不太可能。

    【讨论】:

      【解决方案4】:

      我猜这是一个小型数据库,但一旦超过 4 分钟的窗口,您就可以关闭数据库:第二次备份开始,进一步减慢处理和早期备份的速度,等待第三次备份开始。 ..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-09
        相关资源
        最近更新 更多