0

SQLServerアラートの実験を始めたばかりです。エラーがログに書き込まれるたびにメールが届くと考えて、しきい値がゼロのエラー/秒に関するアラートを設定しました。たくさんのメールが届きました!1秒に1回を超えたときに通知するようにしきい値を上げましたが、それでも時々かなりの数の電子メールを受け取ります。

例として、次のようなものを含む電子メールを受け取ります。

DESCRIPTION: The SQL Server performance counter 'Errors/sec' (instance '_Total') of object 'MyServerName:SQL Errors' is now above the threshold of 1.00 (the current value is 4.45).

これが私が使用しているアラートのコマンドです:

EXEC msdb.dbo.sp_add_alert @name=N'SQL Errors', 
        @message_id=0, 
        @severity=0, 
        @enabled=1, 
        @delay_between_responses=0, 
        @include_event_description_in=1, 
        @notification_message=N'Check the ERRORLOG for details.', 
        @category_name=N'[Uncategorized]', 
        @performance_condition=N'MyServerName:SQL Errors|Errors/sec|_Total|>|0', 
        @job_id=N'00000000-0000-0000-0000-000000000000'

ログを見ると、エラーは見つかりません。ただし、情報メッセージ(バックアップが完了したなど)は見つかります。このアラートは実際には「エントリ/秒」であり、実際には「エラー/秒」ではありませんか、それとも実際のエラーを間違った場所(SSMS|サーバー|管理|SQL Serverログ|現在)で探していますか?

4

2 に答える 2

2

すべてのエラーがログに記録されるわけではなくinsert、制約を破る可能性のある実行が行われる可能性があり、クライアントにエラーが発生しますが、エラーログに記録されるわけではありません。

たとえば、次のt-sqlを実行する場合。

RAISERROR ('This is an error!', 16, 1) WITH LOG

エラーはエラーログに記録されます。を省略すると、ログに記録されWITH LOGずにエラーが発生します。

エラーには、メッセージID、重大度など、フィルタリングに使用できる属性がありますが、すべてを監視しています。重大度はあなたが必要とするものかもしれません。

于 2011-03-31T15:36:59.823 に答える
0

アラートについて読んだことがありますが、使用したことはありません。これに基づいて、「SQLアラートシステム」は、Windowsアプリケーションイベントログに書き込まれたデータに基づいていると思います。

  • 始める
  • プログラム
  • 管理ツール
  • イベントビューアー

「アプリケーション」エントリの下を見てください。(そこにいる間に残りの部分を見て、知らなかったバグやエラーをすべて確認してください。森の中の岩の下を見るのとよく似ています...)

于 2011-03-31T15:35:59.693 に答える