2011-11-24 138 views
1

假设性的问题:在备份期间安排的SQL Server作业会发生什么情况?

如果维护计划,调度运行多个数据库的完整备份,而他们是在网上,并在此期间其他作业计划运行(存储过程,SSIS包等),会发生什么在备份期间对这些作业进行操作

我猜测之一:

  • ,直到备份完成作业被暂停,那么他们在他们被安排在同一顺序运行。

或者

  • SQL服务器使用的是哪种表将每个计划作业受到影响,作业完成后,将它们备份?

或者

  • SQL Server创建的备份开始前,对他们进行任何更改(包括备份过程中由乔布斯运行的变化)被添加到的所有表的“快照”事务日志,应该单独备份。

......我的想法是否正确?

回答

3

想法#3是最接近发生的事情。关键是当备份操作完成时,备份文件将处于允许将数据库恢复到一致状态的状态。

the documentation

执行备份操作具有对 运行数据的影响最小;因此,备份操作可以在正常的 操作期间运行。在备份操作期间,SQL Server将直接从数据库文件中将数据 复制到备份设备。数据是 未更改,并且备份期间正在运行的事务是 从不延迟。因此,您可以使用对生产工作负载影响最小的SQL Server备份执行备份。

...

SQL Server使用联机备份过程以允许数据库 备份仍在使用的数据库,同时。在备份期间,大多数操作都是可能的;例如,在备份操作期间允许INSERT,UPDATE或DELETE 语句。

+0

很好的答案。我可以问一下适用于SQL Server的版本吗?我研究了这一点,围绕SQLServer 2005的文档似乎有很多警告。我的组织在午夜启动完整备份(SQLServer 2005),并在备份仍在运行时(80 GB DB)于上午12:10开始对数据库运行批处理作业。一切正常。我可以假设备份中的.bak文件是数据库在批量作业在备份发生时更新之前的样子吗?谢谢。 – TomWalker

相关问题