适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统 (PDW)
Microsoft Fabric 预览版中的 SQL 数据库
数据库总是处于一个特定的状态中, 例如,这些状态包括 ONLINE、 OFFLINE或 SUSPECT。 若要验证数据库的当前状态,请选择 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 状态。 |