0

クエリを実行する SQL ジョブを作成し、一定の時間がかかる場合にメール アラートを送信したいと考えています。これを行う方法についてのアイデア。SQL Server 2008 を実行しています。

4

2 に答える 2

2

特定のクエリの実行時間を測定するには、単純にジョブ自体でそれをキャプチャし、イベントを発生させてエージェント エラー アラートをトリガーするか、dbmail を使用して t-sql で自分自身に電子メールを送信します。

declare @Elapsed int,
        @Start datetime = getdate();

--your query
waitfor delay '00:00:03'
--

select @Elapsed = datediff(ss, @Start, getdate());

raiserror('Query ran for %d sec(s)', 10, 1, @Elapsed) with nowait;

このアプローチの欠点は、ランタイムを測定するためにクエリを実際に完了する必要があることです。

于 2012-07-10T06:36:02.343 に答える
0

Nagiosをインストールして、クエリの実行時間をチェックするテストを作成し、テストが失敗した場合はメールを送信できます。以前は私の会社でも同じことをしていましたが、今ではEvent247という別の (高価な) ツールを使用しています。

于 2012-07-10T04:18:28.957 に答える