sql server 警示管理,即時監聽資料庫動向,運籌帷幄之中

來源:互聯網
上載者:User

標籤:

原文:sql server 警示管理,即時監聽資料庫動向,運籌帷幄之中

工作這麼多年了,無論是身邊的同學還是同事,發現只要搞程式員的都有一個通病---懶。懶到誰都不願意加班,尤其是"義務"加班。即使大家都不願意加班,但是很多時候項目趕著上線或者上線之後出錯啊什麼的,總得有人看著,這時候就誕生了一種新的工作制度,叫做7*24。顧名思義就是這種崗位即時都得有人看著,這確實是一件讓人頭疼的事情。雖然說在項目剛上線不可避免的得有7*24,但是我們可以盡量減少7*24的工作量(ps:因為7*24確實太累太苦,別問我怎麼知道的)。那麼我們怎麼減少7*24的工作量呢?這就是我們這篇博文需要介紹到的,Sql server之警示管理。

v寫在前面

本博文中部分內容根據《Microsoft sql server》翻譯再加上自己的理解而來。

v警報概念

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中的每一個錯誤都有一個關聯的嚴重層級,通過這個層級可以指示錯誤的挺嚴重性,可以按照不同的層級產生不同的警報。(這個道理很好懂的,拿原子彈炸老鼠(小題大做)的事情咱不幹)

效能計數器

資料庫使用者可以從效能計數器中產生的相對應的警報,這些計數器對於使用者資料庫的各種效能具有良好的效果。

v警報機制v建立警報

要建立不同層級的警報,就必須得將錯誤寫到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]文字框的預設值\\.\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER,在[Query]文字框中輸入如下語句:

SELECT * FROMDDL_DATABASE_LEVEL_EVENT WHERE Database=‘Test‘

 

v部落格總結

到此,Sql Server警示管理就介紹完畢了。

在此,藉助部落格園這個平台,向那些奮鬥在7*24的前線程式猿們獻上最崇高的敬意。

sql server 警示管理,即時監聽資料庫動向,運籌帷幄之中

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.