SQL Server Express数据库处于"恢复中"-如何检测/知道何时
时间:2020-03-06 14:21:50 来源:igfitidea点击:
当SQL Server Express数据库处于"正在恢复"状态时,我们将无法使用SQL身份验证进行连接。
在连接数据库之前,是否有一种简单的方法可以确定数据库的状态?
(使用.Net)
解决方案
SELECT DATABASEPROPERTYEX ('master', 'STATUS') AS 'Status';
将" master"替换为数据库名称
这是一个技巧问题。除了连接到该特定数据库外,我们仍然需要连接到服务器本身,但是要指定一个不同的数据库。连接时,默认数据库可能是正在恢复的数据库。在这种情况下,我们需要在连接时指定其他数据库,然后发出查询以检查数据库的扩展属性。
不幸的是,这意味着SQL登录名将需要我们将要连接到的其他数据库的权限,并且还需要权限来查询数据库的扩展属性。