数据库状态 (database states)

查询数据库的当前状态 :

1、查询所有数据库的状态 ,通过sys.databases目录视图的state_desc列

user master
go
select state_desc ,[name] from sys.databases
go

2、查询指定数据库的状态,通过DATABASEPROPERTYEX函数的Status属性

select DATABASEPROPERTYEX('demoData','status')
go

 状态:

ONLINE即使可能尚未完成恢复的撤消阶段,主文件组仍处于在线状态。

然后,在完成移动操作后,使数据库恢复到在线状态。

数据库不可用。

数据库不可用。

需要用户另外执行操作来解决问题,并让恢复进程完成。

需要用户另外执行操作来解决问题。

只有 sysadmin 固定服务器角色的成员才可以将数据库设置为 EMERGENCY 状态。

文件状态 (database states)

文件始终处于一个特定状态,例如 ONLINE 或 OFFLINE

查询文件状态:

--若要查看文件的当前状态
select state_desc,[name] from sys.master_files
select state_desc,[name] from sys.database_files

--如果数据库处于离线状态
select state_desc,[name] from sys.master_files

ONLINE如果主文件组中的文件处于离线状态,则数据库将处于离线状态,并且辅助文件的状态未定义。

OFFLINE文件通过显式用户操作变为离线,并在执行其他用户操作之前保持离线状态。

    设置为离线的文件只能通过从备份还原才能设置为在线。

RESTORING文件处于还原状态(因为还原命令会影响整个文件,而不仅是页还原),并且在还原完成及文件恢复之前,一直保持此状态。

RECOVERY PENDING需要用户执行其他操作来解决该错误,并允许完成恢复过程。

SUSPECT否则,仅文件处于可疑状态,而数据库仍处于在线状态。

      在通过以下方法之一将文件变为可用之前,该文件将保持可疑状态:

      还原和恢复

      包含 REPAIR_ALLOW_DATA_LOSS 的 BCC CHECKDB

DEFUNCT删除离线文件组后,文件组中的所有文件都将失效。

相关文章:

  • 2021-08-21
  • 2021-12-19
  • 2021-11-14
  • 2021-06-11
  • 2021-07-23
  • 2021-12-31
  • 2022-12-23
  • 2021-06-16
猜你喜欢
  • 2022-12-23
  • 2021-09-27
  • 2022-03-07
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2021-07-11
相关资源
相似解决方案