Sql-Server
根據錯誤日誌中的文本觸發 SQL 代理作業以進行 AG 故障轉移
我有一個 2 節點 AG 設置(不是 FCI)。我需要配置一個警報以根據錯誤日誌中找到的字元串觸發作業,該字元串顯示該節點現在是新的主節點。
我要使用的字元串是:
‘primary_pending’ 到 ‘primary_normal’
這是輔助節點變為主節點時錯誤日誌中顯示的內容。我希望警報啟動我創建的 SQL 作業,以自動化我們的 SSRS 以使用新的主副本。
下面是我設置的警報,但它沒有正確觸發。我確實將警報配置為在觸發此警報時執行作業。
發生故障轉移時,作業不會啟動。我猜這可能是由於使用了錯誤號。我找到了一篇關於使用它的部落格文章,但似乎無法再次找到它。錯誤日誌在此文本的行中沒有顯示任何錯誤號,所以我認為這是問題所在。
如何根據在錯誤日誌中找到的文本觸發警報,或者有更好的方法嗎?
我確實有條件邏輯來檢查我所有工作中的主要/次要狀態,但我不能將它用於這項工作,因為我希望它只執行 1x(當它第一次成為主要時)。
您需要
<all databases>
在數據庫名稱選擇中進行選擇。您正在檢查的錯誤與特定數據庫無關,因此指定數據庫可以有效地過濾它,因此警報不會關心它。我剛剛使用 RAISERROR 對此進行了測試,以記錄一條包含“’this’或’that’”的消息,並且效果很好。起初我認為您可能需要分隔單引號,但在我的測試中我沒有並且它有效。