![SQL Server(Express 2008 R2)数据库在备份期间是否可以运行?一致性如何?](https://linux22.com/image/547349/SQL%20Server%EF%BC%88Express%202008%20R2%EF%BC%89%E6%95%B0%E6%8D%AE%E5%BA%93%E5%9C%A8%E5%A4%87%E4%BB%BD%E6%9C%9F%E9%97%B4%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E8%BF%90%E8%A1%8C%EF%BC%9F%E4%B8%80%E8%87%B4%E6%80%A7%E5%A6%82%E4%BD%95%EF%BC%9F.png)
我希望对某个数据库进行长期备份,并且我想知道应用程序是否可以在备份期间访问(只读?读/写?)它。
如果可以进行读/写访问,那么如何实现一致性?备份中可能只包含备份开始时可用的快照?
或者备份期间数据库将无法运行?
答案1
是的,数据库可以在备份期间使用。
备份过程的工作方式基本上是这样的。
当执行备份数据库命令时,服务器会触发检查点。然后启动数据库备份,不再发出检查点。当从数据库文件备份数据时,将备份事务日志。当日志备份完成后,将发出另一个检查点。
备份始终保持一致,并且截至备份作业结束时都是最新的。