确定数据库何时处于还原状态

时间:2014-08-06 08:20:08

标签: sql sql-server

我正在从Sql Server Management Studio中的备份恢复数据库

这是在2个状态中完成的。

  1. 开始还原。我运行一个sql脚本来恢复数据库(例如: MyDb )。
  2. 完成恢复 MyDb 已恢复
  3. 如何识别数据库何时处于恢复状态(1到2之间)? 我想制作一个 sql脚本告诉我,如果可能的话。

    注意:我知道我可以从Sql Server Management Studio中看到 - >活动监控。

2 个答案:

答案 0 :(得分:3)

您可以查询sys.databases表:

SELECT state FROM sys.databases

状态1表示数据库正在恢复。

来源:MSDN

答案 1 :(得分:2)

正如@SchmitzIT在他的答案(+1)中指出的那样,并且如MSDN中所指定的那样,可以通过查询sys.databases来检索这些数据:

SELECT * 
FROM sys.databases
WHERE state = 1

如果您的数据库挂起RESTORING状态,您可以使用以下命令将其释放:

RESTORE DATABASE 'DATABASE_NAME' WITH RECOVERY