資料庫狀態(database states)
查詢資料庫的當前狀態 :
1、查詢所有資料庫的狀態 ,通過sys.databases目錄檢視的state_desc列
usermaster
goselect state_desc ,[
name
]from
sys.databases
go
2、查詢指定資料庫的狀態,通過databasepropertyex函式的status屬性
select databasepropertyex('demodata
','status
')go
狀態:
restoring:正在還原主檔案組的乙個或多個檔案,或正在離線還原乙個或多個輔助檔案。 資料庫不可用。
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
offline:檔案不可訪問,並且可能不顯示在磁碟中。 檔案通過顯式使用者操作變為離線,並在執行其他使用者操作之前保持離線狀態。
restoring:正在還原檔案。 檔案處於還原狀態(因為還原命令會影響整個檔案,而不僅是頁還原),並且在還原完成及檔案恢復之前,一直保持此狀態。
recovery pending:檔案恢復被推遲。 由於在段落還原過程中未還原和恢復檔案,因此檔案將自動進入此狀態。 需要使用者執行其他操作來解決該錯誤,並允許完成恢復過程。
在通過以下方法之一將檔案變為可用之前,該檔案將保持可疑狀態:
還原和恢復
包含 repair_allow_data_loss 的 bcc checkdb
SQLSERVER資料庫主要狀態和切換路徑
乙個sqlserver資料庫會處於很多種狀態,例如 online restoring recovering recovery pending suspect emergency offline等等。只有在online的狀態下,資料庫才能被正常訪問。下圖主要反映了資料庫的主要狀態之間的切換路徑 下面說...
SQLSERVER資料庫主要狀態和切換路徑
乙個sqlserver資料庫會處於很多種狀態,例如 online restoring recovering recovery pending suspect emergency offline等等。只有在online的狀態下,資料庫才能被正常訪問。下圖主要反映了資料庫的主要狀態之間的切換路徑 下面說...
SQL server 資料庫 讀寫狀態統計語句
獲取磁碟讀寫情況 select total readas 讀取磁碟的次數 total writeas 寫入磁碟的次數 total erroras 磁碟寫入錯誤數 getdate as 當前時間 獲取資料庫檔案的i o統計資訊 select fromfn virtualfilestats null,n...