我知道有一些问题可以解决数据库卡在RESTORING
状态中的问题,并使用这些解决方案手动将数据库恢复在线状态,但是我的情况有所不同。
我使用Powershell脚本进行了自动还原,该脚本将生产的副本还原到DEV实例。这些脚本在大约一年内没有发生变化,并且偶尔会完成还原过程,但是还原后的数据库仍处于RESTORING
状态(有时脚本可以正常工作,有时会失败)。
每当我手动重新运行该过程时,或者从SSMS的用户界面或通过T-SQL手动还原数据库时,它都会毫无问题地完成。
我找到了建议CHECKDB
在还原后的数据库上运行的答案,但没有任何结果导致此问题。
由于还原脚本还原了数据库的完整备份并使用了一个"WITH RECOVERY"
选项,因此我试图找出可能停止还原过程的原因,尽管实际上是使用进行还原的"WITH RECOVERY"
。
真的很感谢任何建议,因为我一直努力了解为什么会不时发生这种情况。
我非常想解决问题的根本原因,而不是解决症状,那就是再次手动还原数据库。
更新:
Github Gist如@Brent建议- 在此处。
1
您可以从SQL Server日志和事件查看器中获得答案,是否已选中?。是否发生某种空间问题,因为这可能导致恢复状态卡住。您是否在还原之前验证备份的完整性?您的存储子系统如何
—
-Shanky
@Shanky我将看看这些内容,尽管我无法直接访问该信息(我需要熟悉SAN管理员)。备份完整性和写入磁盘时都将检查备份完整性。
—
Radu Gheorghiu
SQL Server错误日志怎么说?尝试运行
—
Max Vernon
EXEC sys.xp_readerrorlog 0,1;
-在还原操作期间查找消息。
@MaxVernon 恢复发生时的错误日志。我已经检查了错误消息,并且似乎建议您检查磁盘空间,这是足够的。我将进行更深入的研究,看看可以找到什么,但是快速浏览一下,可能会扩展很多,并让我研究很多东西。
—
Radu Gheorghiu