sql server 警報管理及實時監聽
MS SQL SERVER自動將發生的事情記錄在Windows的程式日誌中。SQL SERVER AGENT會自動監視由SQL SERVER記錄的程式執行日誌,如果找到符合定義的Action發生,將拉響響應事件的警報。 SQL SERVER主要監視以下幾類事情:
SQL SERVER事件
伺服器/資料庫效能條件
Windows management instrument事件(下文中簡稱:WMI)
警報對應上述3種事件,當事件發生時,將自動觸發對應的事件。警報由名稱、觸發警報的時間或者效能條件、SQL SERVER代理響應事件或者效能條件所執行的操作這3個部分來完成。一個基本的警報包含以下內容:
錯誤號
SQL SERVER中大約有3000個可能出現的錯誤(SQL SERVER常見錯誤),每個錯誤都有自己的編號。在很多情況下程式開發可能產生不可預知的錯誤,在這些情況下,我們就需要New自定義錯誤號,並且針對這個事件產生一個警報
錯誤級別
程式裡面,任何錯誤都是有Priority的,SQL SERVER中的每一個錯誤都有一個關聯的嚴重級別,透過這個級別可以指示錯誤的挺嚴重性,可以按照不同的級別產生不同的警報。(這個道理很好懂的,拿原子彈炸老鼠(小題大做)的事情我們不幹)
效能計數器
資料庫使用者可以從效能計數器中產生的相對應的警報,這些計數器對於使用者資料庫的各種效能具有良好的效果。
警報機制
建立警報
要建立不同級別的警報,就必須得將錯誤寫到Windows時間日誌中。這個不難理解。因為在警報概念部分我們已經說了,SQL SERVER代理是從事件日誌上讀取錯誤資訊。當SQL SERVER代理讀取了事件日誌並在此發現了新錯誤時,就會搜尋整個資料庫來尋找相應的警報。一旦SQL SERVER代理發現了Match的警報,將立即啟用該警報,從而通知相關人員或者根據Job的設定來做出相應的反應。
下面我們就依次建立事件警報/效能警報/WMI警報
建立事件警報
① 開啟Sql Server Management Studio視窗,找到警報節點,如圖
② 點選New Alert(建立警報)
注意:在視窗中可以對警報的基本屬性進行設定。例如:在[Name]文字框中可以對警報的名稱進行設定,從[Type]下拉選單框中可以對警報的型別進行設定,圖中選擇的Sql Server事件警報選項。在[Database Name]下拉框中可以選擇執行警報的資料庫(預設是所有資料庫),同時可以使用[Error Number]可以指定警報對應的錯誤號,使用[Severity]可以選擇預定義的警報。如果選擇的嚴重級別在19~25之間,就會向Windows應用程式日誌傳送Sql server訊息,並觸發警報。
③ 選擇[Response]標籤頁,如下圖所示,可以設定發生警報時向哪些操作員進行通知。單機[New Operator]按鈕,可以完成新增警報通知的操作員
④ 選擇[Options]標籤頁,如下圖所示,可以設定警報錯誤傳送的方式,可以選擇[E-mail]、[Pager]、[Net send]核取方塊(可多選),同時可以填寫在傳送警報的同時給出的通知訊息,並能夠對響應的間隔時間進行設定。
⑤ 完成屬性設定後,單機[OK]按鈕完成警報的建立工作
建立效能警報
在效能警報建立頁面,可以完成以下設定:
在[Object]下拉框中可以設定效能警報針對的物件,like: 選擇[Sql Server Database]選項設定效能警報針對的資料庫
透過[Counter]下拉框設定效能計數器的計數方式
透過[Instance]下拉框設定效能計數器針對的資料庫例項
透過[Alert if counter]下拉框設定效能計數器觸發的條件
接下來,就如同建立事件警報的步驟一樣,設定[Response]標籤頁和[Options]標籤頁,完成設定後,單機[OK]按鈕完成警報的建立工作
建立WMI警報
WMI警報幫助使用者對本地和遠端計算機進行管理。WMI透過程式設計和指令碼語言為日常管理提供了一條連續一致的途徑,使用者透過WMI警報可以完成以下任務:
在[Object]下拉框中可以設定效能警報針對的物件,like: 選擇[Sql Server Database]選項設定效能警報針對的資料庫
遠端啟動計算機或在遠端計算機上啟動一個程式
設定在特定日期和時間執行的程式
獲得本地或遠端計算機已安裝的程式列表
查詢本地或遠端計算機的Windsows事件日誌
WMI警報的建立和事件警報/效能警報建立類似,在[New Alert]視窗的[Type]下拉選單中選擇[WMI event alert]選項,如下圖所示
使用[Namespace]文字框的預設值\.rootMicrosoftSqlServerServerEventsMSSQLSERVER,在[Query]文字框中輸入如下語句:
SELECT * FROMDDL_DATABASE_LEVEL_EVENT WHERE Database='Test'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2800682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Laravel 實時監聽列印 SQLLaravelSQL
- Windows Server 2008 效能監測及 Email 通知報警WindowsServerAI
- SQL Server AlwaysOn新增監聽器失敗SQLServer
- Lumen 實現 SQL 監聽SQL
- input實時監聽value change
- 解決Sql Server警報的疑難問題(轉)SQLServer
- 智慧用電物聯網實時監測,助力能耗管理及電氣火災預警
- LB層到Real Server之間訪問請求的響應時間及HTTP狀態碼監控及報警設定ServerHTTP
- 【python 監控報警】python自動發微信監控報警Python
- SQL Server CDC配合Kafka Connect監聽資料變化SQLServerKafka
- 時間監聽
- zabbix監控之同時向多人郵件報警
- JavaScript實時監聽input中值變化JavaScript
- CentOS 配置OOM監控報警CentOSOOM
- Prometheus監控報警系統Prometheus
- oracle 10g rac當監聽程式監聽對方vip時啟動監聽報錯TNS-12545Oracle 10g
- 同時配置動態監聽與靜態監聽
- Python釘釘報警及Zabbix整合釘釘報警Python
- Spark+Kafka實時監控Oracle資料預警SparkKafkaOracle
- deleted事件監聽報錯delete事件
- 網站訪問狀態和超時時間監控報警設定網站
- 自動化部署nginx負載均衡及監控簡訊報警Nginx負載
- 預設及非預設埠的動態監聽/靜態監聽實驗彙總
- Oracle監聽日誌2g-監聽啟動報錯Oracle
- 同事寫的監控Logical Standby SQL apply 程式stop的監控報警指令碼SQLAPP指令碼
- Oracle及SQL Server Job執行時間討論及夏令時問題OracleSQLServer
- SQL SERVER 效能監視器SQLServer
- Redis一站式管理平臺工具,支援叢集建立,管理,監控,報警Redis
- [Kogel.Subscribe.Mssql]SQL Server增量訂閱,資料庫變更監聽SQLServer資料庫
- 實時監聽input輸入框value的變化:
- 使用監聽器實現JavaWeb的定時執行JavaWeb
- 【監聽】配置服務端靜態(動態)監聽/修改監聽埠及引數local_listener作用服務端
- java鍵盤監聽之視窗監聽的實現Java
- Windows server 防火牆開放oracle監聽埠WindowsServer防火牆Oracle
- logstash監控海量日誌並報警
- 模型deleted事件監聽報錯解析模型delete事件
- SQL Server資料庫監控SQLServer資料庫
- Flutter - 生命週期監聽和管理Flutter