我有脚本,它定期运行nbackup工具进行数据库备份。我注意到,如果在nbackup运行时重新启动Windows,则数据库最终处于“备份锁定”状态。有没有可能强制Windows不杀死nbackup进程?
我注意到如果我从WindowsForm应用程序运行nbackup,在FormClosing事件中阻止Windows关闭,nbackup进程成功完成。但是,我可以依赖于观察到的行为,即在它们启动时按顺序停止/终止进程吗?
我希望解决方案不基于WinForms。或者我希望确认应用程序按其开始顺序关闭。因此,如果我从WindowsForms应用程序启动我的guiless进程,那么如果WindowsForms应用程序将Cancel设置为true,则不会终止该进程。
答案 0 :(得分:0)
您可以使用外部应用程序来防止在备份运行时关闭(而不是通过代码执行此操作)。
我推荐这里列出的4种工具之一:
我希望它能解决你的问题。
答案 1 :(得分:0)
没有真正的防弹解决方案。最佳解决方案是允许Windows正常关闭,并在下次Windows启动时从终止备份操作中恢复。
这意味着在下一次Windows启动时关注:检查数据库是否因终止备份而被锁定。如果是,请解锁数据库并再次运行备份过程。
这种方法有一个很大的优势 - 即使在备份期间断电也能正常工作。