当 SQL Server Express DB 处于“恢复中”时,您无法使用 SQL 身份验证进行连接。
有没有一种简单的方法可以在连接之前确定数据库的状态?(使用.Net)
当 SQL Server Express DB 处于“恢复中”时,您无法使用 SQL 身份验证进行连接。
有没有一种简单的方法可以在连接之前确定数据库的状态?(使用.Net)
SELECT DATABASEPROPERTYEX ('master', 'STATUS') AS 'Status';
将“master”替换为您的数据库名称
这是一个诡计的问题。您仍然需要连接到服务器本身,而不是连接到那个特定的数据库,但要指定一个不同的数据库。连接时,您的默认数据库可能是正在恢复的数据库。在这种情况下,您需要在连接时指定不同的数据库,然后发出查询以检查数据库的扩展属性。
不幸的是,这意味着您的 SQL 登录将需要对您将连接到的其他数据库的权限,并且需要权限来查询数据库的扩展属性。