在备份期间安排的SQL Server作业会发生什么?

时间:2011-11-24 14:15:15

标签: sql-server database-backups

假设性问题:

如果计划维护计划在几个数据库处于联机状态时运行完整备份,并且在此期间计划运行其他作业(存储过程,SSIS包等),则备份期间这些作业会发生什么?

我猜是:

  • 作业暂停,直到备份完成,然后按照预定的顺序运行。

或者

  • SQL Server计算出每个预定作业会影响哪些表,并在作业完成后备份它们?!

或者

  • SQL Server在备份开始之前创建所有表的“快照”,对它们所做的任何更改(包括备份期间运行的作业所做的更改)都会添加到事务日志中,应该单独备份。

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

1 个答案:

答案 0 :(得分:3)

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

来自the documentation

  

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

...

  

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