2009-01-19 16 views
2

我有一个客户已经在重用的数据库上每隔4分钟设置一次数据库的完整备份到网络路径。 我强烈建议客户不要这样做,而是做一个事务备份。每4分钟运行一次SQL Server数据库的完整备份的影响

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

我与这位客户有过几次与sql相关的问题(webservice < -sqlconnection-> sql),并且想要从技术上知道此备份方案是否可以成为问题的一部分?

当然,我将开始通过在测试时停止备份以及查看事件日志等来调查此问题。但我很好奇,如果有人直接说“NOOO,这将锁定X并抛出Y并且是坏的”或其他东西。 ;)

+0

什么样的问题?备份会损害性能,但至少应该是完好的...... .NET中更常见的问题是忘记释放(Dispose())连接回池中,使其饱和......所以你看到了什么症状? – 2009-01-19 14:33:46

+0

@Marc,我还没有调查过,但我有一些错误日志指向它无法打开sqlconnection的方向。 webservice抛出一个客户端捕获的错误,我认为我没有得到内部的豁免,而是一个soap-exeption。将进一步看这个。 – Stefan 2009-01-19 15:11:57

回答

3

如果它是一个小型数据库,并且我猜测它可能不会造成任何负面影响,但是如果他们需要确保它们不会丢失数据,它们应该是每隔几分钟进行一次完整备份和日志备份而不是完整备份,并将日志传送到备用服务器或设置镜像。

2

可能你可以运行第二台MSSQL服务器以实现冗余?并有两个服务器在RAID镜像?

或者你可以使用像Red Gate这样的东西来每5分钟备份你的数据。其死者快速 !!!并有大量的压缩/加密。我们每10分钟在一个数据库上备份1mil记录。没问题!

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

1

只要您将数据文件放在任何与MSSQL相同的“备份模式”中,备份应该是有效的,但这似乎是一种难以置信的重做备份的方式。即使是“每小时全面备份,不断基于日志的备份”也将是一个巨大的改进。

当然,它很大程度上取决于数据库的大小,如果它是5-10兆数据库,则开销可能会相反,但似乎不大可能。

0

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