SQL Server資料庫狀態和檔案狀態

2022-02-09 09:37:53 字數 1687 閱讀 1506

資料庫狀態(database states)

查詢資料庫的當前狀態 :

1、查詢所有資料庫的狀態 ,通過sys.databases目錄檢視的state_desc列

user

master

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...