果你正在进程中恢复数据库,在恢复过程后需要做了几步工作,那么你可以用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
*/
在进行数据库恢复后的几步工作前,一直检查数据库的状态,直到数据库在线可用了,不在恢复过程中为止。如果在恢复一段时间之后,没有返回一个表明数据是可用的状态,那么你需要检查数据库的其他状态。它表明:在过程继续进行前,有另外一个问题需要处理。
新闻热点
疑难解答