Sql-Server
將鏡像數據庫故障轉移詳細資訊儲存到相應的伺服器或儲存庫中
我需要一些關於如何實現以下目標的實用建議:
我們有相當多的伺服器涉及數據庫鏡像。作為各種活動和其他修復的一部分,我們不時發生數據庫故障轉移。
我通常做的是瀏覽 sql 錯誤日誌以查找其中大多數的故障轉移詳細資訊
有沒有辦法,我們可以在伺服器本地儲存或跟踪它們的故障轉移詳細資訊,比如將所有詳細資訊保存在文本文件或儲存庫伺服器上?
謝謝
這個概念是創建一個擴展的事件會話來監聽 DATABASE_MIRRORING_STATE_CHANGE 事件。這篇文章介紹了在實時伺服器上使用 TSQL 查詢擴展事件資訊的機制,儘管沒有使用這種方法。
否則,您可以通過 SSMS 創建擴展事件會話,並將該會話配置為將輸出寫入文件 (xel),該文件可由 SSMS 打開或使用可將數據轉換為 xml的系統函式。XEL(“事件文件”)本身是二進制的。IMO 最簡單的方法就是配置某種腳本將這些文件複製到中央實例,然後在那裡打開並處理。
DATABASE_MIRRORING_STATE_CHANGE 事件擷取的欄位: https ://docs.microsoft.com/en-us/sql/relational-databases/event-classes/database-mirroring-state-change-event-class 。
請參閱https://msdn.microsoft.com/en-us/library/hh213147.aspx 以逐步設置將結果轉儲到事件文件的擴展事件會話。(需要按實例完成,但可以編寫腳本)。相當快速的設置,看看它是否為你提供了你需要的所有細節。
您也可以將 DATABASE_MIRRORING_STATE_CHANGE 事件類作為跟踪的一部分。