詳解SQL Server數(shù)據(jù)庫(kù)狀態(tài)和文件狀態(tài)
數(shù)據(jù)庫(kù)狀態(tài) (database states)
查詢數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài) :
1、查詢所有數(shù)據(jù)庫(kù)的狀態(tài) ,通過(guò)sys.databases目錄視圖的state_desc列
user master go select state_desc ,[name] from sys.databases go
2、查詢指定數(shù)據(jù)庫(kù)的狀態(tài),通過(guò)DATABASEPROPERTYEX函數(shù)的Status屬性
select DATABASEPROPERTYEX('demoData','status') go
狀態(tài):
ONLINE:可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。 即使可能尚未完成恢復(fù)的撤消階段,主文件組仍處于在線狀態(tài)。
OFFLINE:數(shù)據(jù)庫(kù)無(wú)法使用。 數(shù)據(jù)庫(kù)由于顯式的用戶操作而處于離線狀態(tài),并保持離線狀態(tài)直至執(zhí)行了其他的用戶操作。 例如,可能會(huì)讓數(shù)據(jù)庫(kù)離線以便將文件移至新的磁盤。 然后,在完成移動(dòng)操作后,使數(shù)據(jù)庫(kù)恢復(fù)到在線狀態(tài)。
RESTORING:正在還原主文件組的一個(gè)或多個(gè)文件,或正在脫機(jī)還原一個(gè)或多個(gè)輔助文件。 數(shù)據(jù)庫(kù)不可用。
RECOVERING:正在恢復(fù)數(shù)據(jù)庫(kù)。 恢復(fù)進(jìn)程是一個(gè)暫時(shí)性狀態(tài),恢復(fù)成功后數(shù)據(jù)庫(kù)將自動(dòng)處于在線狀態(tài)。 如果恢復(fù)失敗,數(shù)據(jù)庫(kù)將處于可疑狀態(tài)。 數(shù)據(jù)庫(kù)不可用。
RECOVERY PENDING:SQL Server 在恢復(fù)期間遇到了與資源相關(guān)的錯(cuò)誤。 數(shù)據(jù)庫(kù)未損壞,但是可能缺少文件,或系統(tǒng)資源限制可能導(dǎo)致無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)。 數(shù)據(jù)庫(kù)不可用。 需要用戶另外執(zhí)行操作來(lái)解決問(wèn)題,并讓恢復(fù)進(jìn)程完成。
SUSPECT(質(zhì)疑):至少主文件組可疑或可能已損壞。 在 SQL Server啟動(dòng)過(guò)程中無(wú)法恢復(fù)數(shù)據(jù)庫(kù)。 數(shù)據(jù)庫(kù)不可用。需要用戶另外執(zhí)行操作來(lái)解決問(wèn)題。
EMERGENCY(緊急):用戶更改了數(shù)據(jù)庫(kù),并將其狀態(tài)設(shè)置為 EMERGENCY。 數(shù)據(jù)庫(kù)處于單用戶模式,可以修復(fù)或還原。 數(shù)據(jù)庫(kù)標(biāo)記為 READ_ONLY,禁用日志記錄,并僅限 sysadmin 固定服務(wù)器角色的成員訪問(wèn)。 EMERGENCY 主要用于故障排除。 例如,可以將標(biāo)記為“可疑”的數(shù)據(jù)庫(kù)設(shè)置為 EMERGENCY 狀態(tài)。 這樣可以允許系統(tǒng)管理員對(duì)數(shù)據(jù)庫(kù)進(jìn)行只讀訪問(wèn)。 只有 sysadmin 固定服務(wù)器角色的成員才可以將數(shù)據(jù)庫(kù)設(shè)置為 EMERGENCY 狀態(tài)。
文件狀態(tài) (database states)
在 SQL Server中,數(shù)據(jù)庫(kù)文件的狀態(tài)獨(dú)立于數(shù)據(jù)庫(kù)的狀態(tài)。 文件始終處于一個(gè)特定狀態(tài),例如 ONLINE 或 OFFLINE
查詢文件狀態(tài):
--若要查看文件的當(dāng)前狀態(tài) select state_desc,[name] from sys.master_files select state_desc,[name] from sys.database_files --如果數(shù)據(jù)庫(kù)處于離線狀態(tài) select state_desc,[name] from sys.master_files
ONLINE:文件可用于所有操作。 如果數(shù)據(jù)庫(kù)本身處于在線狀態(tài),則主文件組中的文件始終處于在線狀態(tài)。如果主文件組中的文件處于離線狀態(tài),則數(shù)據(jù)庫(kù)將處于離線狀態(tài),并且輔助文件的狀態(tài)未定義。
OFFLINE:文件不可訪問(wèn),并且可能不顯示在磁盤中。 文件通過(guò)顯式用戶操作變?yōu)殡x線,并在執(zhí)行其他用戶操作之前保持離線狀態(tài)。
** 警告 *\* 當(dāng)文件已損壞時(shí),該文件僅應(yīng)設(shè)置為離線,但可以進(jìn)行還原。 設(shè)置為離線的文件只能通過(guò)從備份還原才能設(shè)置為在線。
RESTORING:正在還原文件。 文件處于還原狀態(tài)(因?yàn)檫€原命令會(huì)影響整個(gè)文件,而不僅是頁(yè)還原),并且在還原完成及文件恢復(fù)之前,一直保持此狀態(tài)。
RECOVERY PENDING:文件恢復(fù)被推遲。 由于在段落還原過(guò)程中未還原和恢復(fù)文件,因此文件將自動(dòng)進(jìn)入此狀態(tài)。 需要用戶執(zhí)行其他操作來(lái)解決該錯(cuò)誤,并允許完成恢復(fù)過(guò)程。
SUSPECT:聯(lián)機(jī)還原過(guò)程中,恢復(fù)文件失敗。 如果文件位于主文件組,則數(shù)據(jù)庫(kù)還將標(biāo)記為可疑。 否則,僅文件處于可疑狀態(tài),而數(shù)據(jù)庫(kù)仍處于在線狀態(tài)。
在通過(guò)以下方法之一將文件變?yōu)榭捎弥埃撐募⒈3挚梢蔂顟B(tài):
還原和恢復(fù)
包含 REPAIR_ALLOW_DATA_LOSS 的 BCC CHECKDB
DEFUNCT:當(dāng)文件不處于在線狀態(tài)時(shí)被刪除。 刪除離線文件組后,文件組中的所有文件都將失效。
總結(jié)
以上所述是小編給大家介紹的詳解SQL Server數(shù)據(jù)庫(kù)狀態(tài)和文件狀態(tài),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- PHP實(shí)現(xiàn)的mysql主從數(shù)據(jù)庫(kù)狀態(tài)檢測(cè)功能示例
- Mysql/MariaDB啟動(dòng)時(shí)處于進(jìn)度條狀態(tài)導(dǎo)致啟動(dòng)失敗的原因及解決辦法
- 使用mysqladmin檢測(cè)MySQL運(yùn)行狀態(tài)的教程
- sql server啟動(dòng)不了, MSSQL 18052錯(cuò)誤: 9003,嚴(yán)重度: 20,狀態(tài): 1 .
- shell腳本監(jiān)控mysql主從狀態(tài)
- SQL一條語(yǔ)句統(tǒng)計(jì)記錄總數(shù)及各狀態(tài)數(shù)
- MySql狀態(tài)查看方法 MySql如何查看連接數(shù)和狀態(tài)?
相關(guān)文章
CentOS 7.3上SQL Server vNext CTP 1.2安裝教程
這篇文章主要為大家詳細(xì)介紹了CentOS 7.3上SQL Server vNext CTP 1.2安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01SQL語(yǔ)句實(shí)現(xiàn)SQL Server 2000及Sql Server 2005日志收縮(批量)
SQL語(yǔ)句實(shí)現(xiàn)SQL Server 2000及Sql Server 2005日志收縮(批量)2008-08-08SQL小技巧 又快又簡(jiǎn)單的得到你的數(shù)據(jù)庫(kù)每個(gè)表的記錄數(shù)
說(shuō)到如何得到表的行數(shù),大家首先想到的應(yīng)該是select count(*) from table1....2009-09-09GreatSQL 在SQL中如何使用 HINT 語(yǔ)法修改會(huì)話變量
GreatSQL推出新的優(yōu)化Hint功能,名為SET_VAR,允許用戶在查詢語(yǔ)句中修改數(shù)據(jù)庫(kù)的會(huì)話變量,但只對(duì)當(dāng)前查詢會(huì)話生效,不影響其他會(huì)話,本文給大家介紹GreatSQL 在SQL中如何使用 HINT 語(yǔ)法修改會(huì)話變量,感興趣的朋友一起看看吧2024-10-10SQL語(yǔ)句中的DDL類型的數(shù)據(jù)庫(kù)定義語(yǔ)言操作
這篇文章主要介紹了SQL語(yǔ)句中的DDL類型的數(shù)據(jù)庫(kù)定義語(yǔ)言,主要是用來(lái)定義數(shù)據(jù)庫(kù)中的對(duì)象的,例如數(shù)據(jù)庫(kù)、表和字段的定義,簡(jiǎn)單的理解就是DDL語(yǔ)言是來(lái)操作數(shù)據(jù)庫(kù)、表和字段的,需要的朋友可以參考下2022-08-08SqlServer 2022通過(guò)臨時(shí)表和游標(biāo)遍歷方式邏輯處理獲取目標(biāo)數(shù)據(jù)
在SQL的存儲(chǔ)過(guò)程,函數(shù)中,經(jīng)常需要使用遍歷(遍歷table),其中游標(biāo)、臨時(shí)表等遍歷方法很常用,本文就來(lái)介紹一下SqlServer 2022通過(guò)臨時(shí)表和游標(biāo)遍歷方式邏輯處理獲取目標(biāo)數(shù)據(jù),感興趣的可以了解一下2024-04-04通過(guò)備份記錄獲取數(shù)據(jù)庫(kù)的增長(zhǎng)情況
通過(guò)備份記錄獲取數(shù)據(jù)庫(kù)的增長(zhǎng)情況2009-06-06sql server 2016不能全部用到CPU的邏輯核心數(shù)的問(wèn)題
服務(wù)器總共CPU核心有72核,但sql 只能用到40核心,想信也有很多人遇到這問(wèn)題,那么今天這節(jié)就先說(shuō)說(shuō)這問(wèn)題是怎么出現(xiàn)的2023-05-05