数据库状态

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics分析平台系统 (PDW)Microsoft Fabric 预览版中的 SQL 数据库

数据库总是处于一个特定的状态中, 例如,这些状态包括 ONLINEOFFLINESUSPECT。 若要验证数据库的当前状态,请选择 state_descsys.databases 目录视图中的列或 DATABASEPROPERTYEX 函数中的 Status 属性。

数据库状态定义

下表定义了数据库的状态。

State Definition
ONLINE 可以对数据库进行访问。 主文件组处于联机状态,尽管恢复的撤消阶段可能尚未完成。
OFFLINE 数据库无法使用。 数据库通过显式用户操作脱机,并保持脱机状态,直到需要进一步的用户操作才能使其重新上线。 例如,数据库可能会脱机,以便将文件移动到新磁盘。 然后,在完成移动操作后,使数据库恢复到在线状态。
RESTORING 正在还原主文件组的一个或多个文件,或正在脱机还原一个或多个辅助文件。 数据库不可用。
RECOVERING 正在恢复数据库。 恢复过程是暂时状态;如果恢复成功,数据库会自动联机。 如果恢复失败,数据库将变得可疑。 数据库不可用。
RECOVERY PENDING SQL Server 在恢复过程中遇到了与资源相关的错误。 数据库不会损坏,但文件可能缺失,或者系统资源限制可能会阻止其启动。 数据库不可用。 需要用户执行进一步作才能解决错误并让恢复过程完成。
SUSPECT 至少主文件组是可疑的,可能会损坏。 在启动 SQL Server 期间无法恢复数据库。 数据库不可用。 需要用户采取进一步措施以解决问题。
EMERGENCY 用户已更改数据库并将状态设置为 EMERGENCY。 数据库处于单用户模式,可以修复或还原。 数据库被标记 READ_ONLY,日志记录被禁用,访问仅限于 sysadmin 固定服务器角色的成员。 EMERGENCY 主要用于故障排除目的。 例如,标记为可疑的数据库可以设置为 EMERGENCY 状态。 这样可以允许系统管理员对数据库进行只读访问。 只有 sysadmin 固定服务器角色的成员才能将数据库设置为 EMERGENCY 状态。