在SQL Server 中通過警報管理器定義警報,當某些特定的事件發生時會自動報警。當警報被觸發時,通過電子郵件或尋呼通知操作員,從而讓操作員了解系統中發生了什麼事件,比如數據庫使用空間不夠了或事務日志已滿。SQL Server 產生的錯誤信息、事件都會被記入Windows NT 的應用日志,SQL Server 讀取日志並與已定義了警報的事件相比較,如果匹配,則將觸發警報。
在SQL Server 中利用警報管理器可創建二種類型的警報:事件警報和性能狀況警報。
17.4.1 創建事件警報
使用SQL Server Enterprise Manager 創建事件警報的步驟為:
(1) 啟動SQL Server Enterprise Manager, 登錄到指定的服務器,分別順次單擊management, SQL Server Agent 左邊的“+” (如果SQL Server Agent 沒有啟動請啟動)。
(2) 右擊Alerts 圖標,在彈出菜單中選擇New Alert 選項,打開New Alert Properties 對話框。從中選擇General 標簽如圖17-14 所示。其中各選項的含義為;
Name: 警報的名稱,其長度不超過128 個字符; Type: 警報的類型,SQL Server event alert 表示事件類型的警報,SQL Serverperformance condition alert 表示性能狀況警報; Error number: 表示觸發警報的錯誤號,只能使用在事件警報中; Severity: 表示錯誤的等級,其取值范圍為1 至25。 只能使用在事件警報中。 (3) 選中Error number 單選按鈕,然後單擊右面的方框按鈕,打開Manage SQL Server Messages 對話框,選擇Search 標簽頁。如圖17-15 所示。
在該對話框內,可以在Message Text Contains 中輸入某一字符串,單擊“Find” 按鈕,會在Messages 標簽頁上顯示出所有包括該字符串的錯誤消息。
(4) 選中Message 標簽頁,單擊“New” 按鈕彈出New SQL Server Message 對話框,如圖17-16 所示。
Message: 表示錯誤消息文本,其最大長度為255 個字符;
Always write to Windows NT event log: 表示將消息寫入Windows NT 應用日志,如果想讓SQL Server Agent 監測警報,必須選中此復選框。
(5) 單擊“確定”,回到New Alert Properties 對話框,選擇Response 標簽頁。如圖17-17 所示。
Execute Job: 出現警報時執行的作業; 在Operator to notify: 下的表格中,顯示把警報送給哪些操作者,並定義以哪種方式(郵件、尋呼)傳送; Include alert error text in: 表示把警報寫入哪種(郵件、尋呼、網絡傳送)通知當中; Additional notification message to send to operator: 傳送給操作員的附加消息; Delay between responses for a recurring alert: 表示重復警報連續兩次響應的時間間隔。
17.4.2 創建性能警報
性能警報是指當某一性能指數超過預定義的性能阈值時,性能警報就會被觸發,通過在性能警報中定義的電子郵件或尋呼,就可以把相應的警告信息通知給管理員。
性能警報的創建步驟與事件警報的創建步驟幾乎相同其區別主要表現在:
當打開New Alert Properties 對話框時,選擇General 標簽,在Type 旁的下拉列表中選擇SQL Server performance condition alert, 如圖17-18 所示。
Object: 表示Windows NT performance Monitor 對象; Counter: 表示Windows NT performance Monitor 的計數器; Instance: 計數器指定的實例; Alert if Counter: 條件的阈值; Value: 警報的阈值。其它設置請參看事件警報的創建過程。
本章小結
SQL Server Agent 是實現自動管理任務的強有力的工具,同時在作業規劃器和警報管理工具的幫助下提供了方便、簡化數據庫管理的環境,極大地減少管理任務的工作量,提高了管理效率。