2011-08-10 12 views
1

重複するプライマリキー値を持つSQLサーバーテーブルに挿入するため、SQLサーバーログまたはウィンドウイベントログのいずれかの制約違反が自動的に取得される方法はありますか?私はSQL Server Management Studioで重複する主キーを挿入しようとすると、私は次のエラーを取得するSQLサーバー2008のプライマリキー制約の違反をキャプチャ

メッセージ2627 PRIMARY KEY制約の、レベル14、状態1、行2 違反「PK_ :例のため

顧客 _A4AE64D87F60ED59 '。オブジェクト 'dbo.Customer'に重複キーを挿入できません。 ステートメントが終了しました。

しかし、SQL ServerログまたはWindowsイベントログでそのメッセージを見つけることができません。

ありがとうございました

答えて

1

この情報は自動的にSQLによって記録されません。これを行うにはいくつかの方法がありますが、セットアップ/設定を自分で行う必要があり、実装するのは簡単ではありません。

"最も単純な"方法は、SQLプロファイラを使用して例外イベントを追跡し、適切なエラー番号(または数、トレースするいくつかの同様の例外がある可能性があります)をフィルタリングすることです。この情報を常に常時録音したい場合は、問題になる可能性があります。

SQL Agent Alertシステムで何かが行われる可能性があります。私はこれを使用したことはありません。Windowsイベントログにアラートが書き込まれているため、動作しない可能性がありますが、それでもなお調べる価値があるかもしれません。

致命的なエラーをトラップして追跡するために、ほとんどの場合、コードを変更する必要があります。これは非常に扱いにくいかもしれません。詳細は、コードベースのnatrureと範囲に依存します。

関連する問題