這篇文章主要介紹SQLSERVER數據庫狀態的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
前兩天在處理一個客戶問題,突然某個數據庫無法訪問了。數據庫下面的表也無法查看。從SSMS界面上看數據庫是正常的狀態(就是數據庫名字后面沒有顯示特別的狀態)。查看
SYS.DATABASES 查看狀態列,發現是ONLINE。此時其他數據庫是正常的,就這個庫有問題。肯定是數據庫狀態不對。 那么問題出在哪里呢? 仔細觀察發現這個問題的數據庫 collation_name 是null 值。
原來問題在這,
剛剛聯機的數據庫不一定馬上能接受連接。 要確定數據庫何時可以接受連接,可以查詢 sys.databases 的 collation_name 列或 DATABASEPROPERTYEX 的 Collation 屬性。 在數據庫排序規則返回非 Null 值之后,數據庫就可以接受連接了。
于是用命令把數據庫設置為脫機,然后馬上聯機,再查看sys.databases 的 collation_name 列 變成了非null值。此時數據庫恢復正常。
數據庫有很多狀態。他們是如何在這些狀態之間進行切換的呢?下面這個圖非常清晰的標示了各個狀態的切換。在我剛學習數據庫的時候,這個圖給了我很大的幫助,
讓我對數據庫各個狀態的轉換有了很清楚的認識。
ONLINE (在線)
數據庫可正常運行
RESTORING (正在還原)
數據庫正在還原,當我們還原數據庫使用NORECOVERY 模式時,數據庫就會變成該狀態
RECOVERING (正在恢復)
數據庫啟動,數據庫創建,ALTER ONLINE,RESTORE WITH RECOERY 時,會經過這個狀態,進行REDO,UNDO等操作。此時如果遇到問題就進入RECOVERY_PENDING。如果正常就會變成ONLINE。
RECOVERY_PENDING(等待恢復)
數據庫在還原時遇到跟資源相關的錯誤,表明還原進程被掛起,數據庫不能開始數據庫的數據和日志的還原進程,這種情況下,最可能的原因是丟失數據文件或日志文件。
SUSPECT (置疑)
數據庫可能損壞了
EMERGENCY (緊急)
供DBA用來修復數據庫的狀態
OFFLINE (脫機)
離線狀態
以上是“SQLSERVER數據庫狀態的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道!
當前標題:SQLSERVER數據庫狀態的示例分析-創新互聯
文章轉載:http://www.2m8n56k.cn/article8/gjjip.html
成都網站建設公司_創新互聯,為您提供域名注冊、網站設計公司、做網站、建站公司、微信小程序、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯