數(shù)據(jù)庫狀態(tài) (database states)
查詢數(shù)據(jù)庫的當前狀態(tài) :
1、查詢所有數(shù)據(jù)庫的狀態(tài) ,通過sys.databases目錄視圖的state_desc列
user master
go
select state_desc ,[name] from sys.databases
go
2、查詢指定數(shù)據(jù)庫的狀態(tài),通過DATABASEPROPERTYEX函數(shù)的Status屬性
select DATABASEPROPERTYEX('demoData','status')
go
狀態(tài):
ONLINE:可以對數(shù)據(jù)庫進行訪問。 即使可能尚未完成恢復的撤消階段,主文件組仍處于在線狀態(tài)。
OFFLINE:數(shù)據(jù)庫無法使用。 數(shù)據(jù)庫由于顯式的用戶操作而處于離線狀態(tài),并保持離線狀態(tài)直至執(zhí)行了其他的用戶操作。 例如,可能會讓數(shù)據(jù)庫離線以便將文件移至新的磁盤。 然后,在完成移動操作后,使數(shù)據(jù)庫恢復到在線狀態(tài)。
RESTORING:正在還原主文件組的一個或多個文件,或正在脫機還原一個或多個輔助文件。 數(shù)據(jù)庫不可用。
RECOVERING:正在恢復數(shù)據(jù)庫。 恢復進程是一個暫時性狀態(tài),恢復成功后數(shù)據(jù)庫將自動處于在線狀態(tài)。 如果恢復失敗,數(shù)據(jù)庫將處于可疑狀態(tài)。 數(shù)據(jù)庫不可用。
RECOVERY PENDING:SQL Server 在恢復期間遇到了與資源相關(guān)的錯誤。 數(shù)據(jù)庫未損壞,但是可能缺少文件,或系統(tǒng)資源限制可能導致無法啟動數(shù)據(jù)庫。 數(shù)據(jù)庫不可用。 需要用戶另外執(zhí)行操作來解決問題,并讓恢復進程完成。
SUSPECT(質(zhì)疑):至少主文件組可疑或可能已損壞。 在 SQL Server啟動過程中無法恢復數(shù)據(jù)庫。 數(shù)據(jù)庫不可用。需要用戶另外執(zhí)行操作來解決問題。
EMERGENCY(緊急):用戶更改了數(shù)據(jù)庫,并將其狀態(tài)設(shè)置為 EMERGENCY。 數(shù)據(jù)庫處于單用戶模式,可以修復或還原。 數(shù)據(jù)庫標記為 READ_ONLY,禁用日志記錄,并僅限 sysadmin 固定服務器角色的成員訪問。 EMERGENCY 主要用于故障排除。 例如,可以將標記為“可疑”的數(shù)據(jù)庫設(shè)置為 EMERGENCY 狀態(tài)。 這樣可以允許系統(tǒng)管理員對數(shù)據(jù)庫進行只讀訪問。 只有 sysadmin 固定服務器角色的成員才可以將數(shù)據(jù)庫設(shè)置為 EMERGENCY 狀態(tài)。
文件狀態(tài) (database states)
在 SQL Server中,數(shù)據(jù)庫文件的狀態(tài)獨立于數(shù)據(jù)庫的狀態(tài)。 文件始終處于一個特定狀態(tài),例如 ONLINE 或 OFFLINE
查詢文件狀態(tài):
--若要查看文件的當前狀態(tài)
select state_desc,[name] from sys.master_files
select state_desc,[name] from sys.database_files
--如果數(shù)據(jù)庫處于離線狀態(tài)
select state_desc,[name] from sys.master_files
ONLINE:文件可用于所有操作。 如果數(shù)據(jù)庫本身處于在線狀態(tài),則主文件組中的文件始終處于在線狀態(tài)。如果主文件組中的文件處于離線狀態(tài),則數(shù)據(jù)庫將處于離線狀態(tài),并且輔助文件的狀態(tài)未定義。
OFFLINE:文件不可訪問,并且可能不顯示在磁盤中。 文件通過顯式用戶操作變?yōu)殡x線,并在執(zhí)行其他用戶操作之前保持離線狀態(tài)。
** 警告 *\* 當文件已損壞時,該文件僅應設(shè)置為離線,但可以進行還原。 設(shè)置為離線的文件只能通過從備份還原才能設(shè)置為在線。
RESTORING:正在還原文件。 文件處于還原狀態(tài)(因為還原命令會影響整個文件,而不僅是頁還原),并且在還原完成及文件恢復之前,一直保持此狀態(tài)。
RECOVERY PENDING:文件恢復被推遲。 由于在段落還原過程中未還原和恢復文件,因此文件將自動進入此狀態(tài)。 需要用戶執(zhí)行其他操作來解決該錯誤,并允許完成恢復過程。
SUSPECT:聯(lián)機還原過程中,恢復文件失敗。 如果文件位于主文件組,則數(shù)據(jù)庫還將標記為可疑。 否則,僅文件處于可疑狀態(tài),而數(shù)據(jù)庫仍處于在線狀態(tài)。
在通過以下方法之一將文件變?yōu)榭捎弥?,該文件將保持可疑狀態(tài):
還原和恢復
包含 REPAIR_ALLOW_DATA_LOSS 的 BCC CHECKDB
DEFUNCT:當文件不處于在線狀態(tài)時被刪除。 刪除離線文件組后,文件組中的所有文件都將失效。
總結(jié)
以上所述是小編給大家介紹的詳解SQL Server數(shù)據(jù)庫狀態(tài)和文件狀態(tài),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- PHP實現(xiàn)的mysql主從數(shù)據(jù)庫狀態(tài)檢測功能示例
- Mysql/MariaDB啟動時處于進度條狀態(tài)導致啟動失敗的原因及解決辦法
- 使用mysqladmin檢測MySQL運行狀態(tài)的教程
- sql server啟動不了, MSSQL 18052錯誤: 9003,嚴重度: 20,狀態(tài): 1 .
- shell腳本監(jiān)控mysql主從狀態(tài)
- SQL一條語句統(tǒng)計記錄總數(shù)及各狀態(tài)數(shù)
- MySql狀態(tài)查看方法 MySql如何查看連接數(shù)和狀態(tài)?