详解SQL Server数据库状态和文件状态
数据库状态 (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:可以对数据库进行访问。 即使可能尚未完成恢复的撤消阶段,主文件组仍处于在线状态。
offline:数据库无法使用。 数据库由于显式的用户操作而处于离线状态,并保持离线状态直至执行了其他的用户操作。 例如,可能会让数据库离线以便将文件移至新的磁盘。 然后,在完成移动操作后,使数据库恢复到在线状态。
restoring:正在还原主文件组的一个或多个文件,或正在脱机还原一个或多个辅助文件。 数据库不可用。
recovering:正在恢复数据库。 恢复进程是一个暂时性状态,恢复成功后数据库将自动处于在线状态。 如果恢复失败,数据库将处于可疑状态。 数据库不可用。
recovery pending:sql server 在恢复期间遇到了与资源相关的错误。 数据库未损坏,但是可能缺少文件,或系统资源限制可能导致无法启动数据库。 数据库不可用。 需要用户另外执行操作来解决问题,并让恢复进程完成。
suspect(质疑):至少主文件组可疑或可能已损坏。 在 sql server启动过程中无法恢复数据库。 数据库不可用。需要用户另外执行操作来解决问题。
emergency(紧急):用户更改了数据库,并将其状态设置为 emergency。 数据库处于单用户模式,可以修复或还原。 数据库标记为 read_only,禁用日志记录,并仅限 sysadmin 固定服务器角色的成员访问。 emergency 主要用于故障排除。 例如,可以将标记为“可疑”的数据库设置为 emergency 状态。 这样可以允许系统管理员对数据库进行只读访问。 只有 sysadmin 固定服务器角色的成员才可以将数据库设置为 emergency 状态。
文件状态 (database states)
在 sql server中,数据库文件的状态独立于数据库的状态。 文件始终处于一个特定状态,例如 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:当文件不处于在线状态时被删除。 删除离线文件组后,文件组中的所有文件都将失效。
总结
以上所述是小编给大家介绍的详解sql server数据库状态和文件状态,希望对大家有所帮助
推荐阅读
-
SQL Server 2005/2008用户数据库文件默认路径和默认备份路径修改方法
-
mssql server .ldf和.mdf的文件附加数据库的sql语句
-
详解SQL Server如何修改数据库物理文件的存在位置
-
SQL Server系统视图sys.master_files不能正确显示数据库脱机状态
-
详解SQL Server数据库架构和对象、定义数据完整性
-
Zabbix监控SQL Server服务状态的方法详解
-
修改SQL Server 2005/2008 用户数据库文件默认路径和默认备份路
-
详解SQL Server数据库状态和文件状态
-
SQL Server 数据库所能处在的几种状态
-
mssql server .ldf和.mdf的文件附加数据库的sql语句