SQL Server Express DB 处于“恢复中”-如何检测/知道何时恢复

Posted

技术标签:

【中文标题】SQL Server Express DB 处于“恢复中”-如何检测/知道何时恢复【英文标题】:SQL Server Express DB is 'in recovery' - how to detect / know when it is 【发布时间】:2008-09-18 15:13:51 【问题描述】:

当 SQL Server Express 数据库处于“恢复中”时,您无法使用 SQL 身份验证进行连接。

有没有一种简单的方法可以在连接之前确定数据库的状态? (使用 .Net)

【问题讨论】:

【参考方案1】:
SELECT DATABASEPROPERTYEX ('master', 'STATUS') AS 'Status';

将“master”替换为您的数据库名称

【讨论】:

【参考方案2】:

这是一个棘手的问题。您仍然需要连接到服务器本身,而不是连接到该特定数据库,但指定不同的数据库。连接时,您的默认数据库可能是正在恢复的数据库。在这种情况下,您需要在连接时指定不同的数据库,然后发出查询以检查数据库的扩展属性。

不幸的是,这意味着您的 SQL 登录名将需要您将连接到的其他数据库的权限,并且需要权限才能查询数据库的扩展属性。

【讨论】:

以上是关于SQL Server Express DB 处于“恢复中”-如何检测/知道何时恢复的主要内容,如果未能解决你的问题,请参考以下文章

迁移MSSql Db - 来自SQL Server 2008 R2 Enterprise备份可以在SQL Server 2008 R2 Express版本中还原

删除 'OPTIMIZE_FOR_SEQUENTIAL_KEY' 会解决我的 script.sql 的失败还是涉及更多(SQL Server Express DB -> SQL Server)?

我们如何使用 Mycrosoft Sync Framework 2.0 推迟将 SQL Express DB 作为客户端和 SQL Server 作为服务器的冲突解决

无法连接到 SQL Server 2008 Express 实例

如何安装 sql server express 2016

win10 下安装SQL server 2008R2 express