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
- Lumen 實現 SQL 監聽SQL
- SQL Server CDC配合Kafka Connect監聽資料變化SQLServerKafka
- 智慧用電物聯網實時監測,助力能耗管理及電氣火災預警
- 時間監聽
- 【python 監控報警】python自動發微信監控報警Python
- [Kogel.Subscribe.Mssql]SQL Server增量訂閱,資料庫變更監聽SQLServer資料庫
- JavaScript實時監聽input中值變化JavaScript
- SQL server開啟 安裝包時報錯SQLServer
- 使用Vmalert監控報警
- zabbix監控之同時向多人郵件報警
- Prometheus監控報警系統Prometheus
- CentOS 配置OOM監控報警CentOSOOM
- Spark+Kafka實時監控Oracle資料預警SparkKafkaOracle
- SQL SERVER 日期和時間資料型別及函式 (Transact-SQL)SQLServer資料型別函式
- Python釘釘報警及Zabbix整合釘釘報警Python
- deleted事件監聽報錯delete事件
- 監聽ORM背後的sql語句。ORMSQL
- Sql Server實時監控釋出訂閱複製Replication、subscription有多少延遲的方法SQLServer
- 實戰記錄之SQL server報錯手工注入SQLServer
- 管理SQL Server資料庫安全SQLServer資料庫
- 資料庫監視器(SQL Server Profilter)資料庫SQLServerFilter
- 監控 SQL Server 的執行狀況SQLServer
- SQL SERVER實用技巧SQLServer
- 實時監聽input輸入框value的變化:
- java鍵盤監聽之視窗監聽的實現Java
- Flutter 滾動監聽及實戰appBar滾動漸變FlutterAPP
- Flutter - 生命週期監聽和管理Flutter
- Redis一站式管理平臺工具,支援叢集建立,管理,監控,報警Redis
- 修改glogin.sql引發的生產系統監控的虛假報警SQL
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- Elasticsearch開發實戰篇——基於ES的SQL報警引擎ElasticsearchSQL
- 監聽 watch props物件屬性監聽 或深度監聽物件
- flink sql 實時同步及離線同步SQL
- Spring 事件監聽機制及原理分析Spring事件
- 模型deleted事件監聽報錯解析模型delete事件
- Oracle 11g RAC 監聽日常管理Oracle
- jfinal中如何使用過濾器監控Druid監聽SQL執行?過濾器UISQL