用DATABASEPROPERTYEX()检查恢复过程的状态

80酷酷网    80kuku.com

  

果你正在进程中恢复数据库,在恢复过程后需要做了几步工作,那么你可以用DATABASEPROPERTYEX()系统函数检查恢复过程的状态。这个函数的状态属性将表明这个数据库状态的结果。这是个SQL Server 2000里才有的新函数。下面是一个脚本的例子:

 
SELECT DATABASEPROPERTYEX('Northwind', 'Status')
/*
ONLINE = 数据库可以查询
OFFLINE = 数据库显式脱机
RESTORING =数据库正在恢复
RECOVERING = 数据库正在恢复,还不能查询
SUSPECT = 数据库不能恢复
*/

SQL Server 2000以前的版本,用DATABASEPROPERTY()系统函数。IsInRecovery属性将给出数据库的恢复状态。下面是SQL Server 7.0的脚本例子:

SELECT DATABASEPROPERTY('Northwind', 'IsInRecovery')
/*
1 = TRUE
0 = FALSE
NULL = Invalid input
*/

在进行数据库恢复后的几步工作前,一直检查数据库的状态,直到数据库在线可用了,不在恢复过程中为止。如果在恢复一段时间之后,没有返回一个表明数据是可用的状态,那么你需要检查数据库的其他状态。它表明:在过程继续进行前,有另外一个问题需要处理。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: