どのアプリケーションがいつ書き込みを行っているかなどの情報を取得できる SQL テーブルを監査する方法はありますか?
ユーザーがここで使用しているアプリケーションはたくさんあります。私はそれぞれをくまなく調べましたが、SQL Server のこの 1 つのテーブルに書き込む場所を見つけることができませんでした。そして大事なテーブルです。
それは私を夢中にさせています。
どのアプリケーションがいつ書き込みを行っているかなどの情報を取得できる SQL テーブルを監査する方法はありますか?
ユーザーがここで使用しているアプリケーションはたくさんあります。私はそれぞれをくまなく調べましたが、SQL Server のこの 1 つのテーブルに書き込む場所を見つけることができませんでした。そして大事なテーブルです。
それは私を夢中にさせています。
最初から監査を設定する必要があります (通常は、テーブルに書き込みを行っているユーザーまたはアプリケーションを含む監査テーブルに書き込むトリガーを使用します)。システムに監査機能が組み込まれていない場合、過去のデータについてこの情報を見つける方法はありません。
監査対象を設定するときに、次のシステム変数によって入力されるフィールドを含めることができます。
suser_sname()、host_name()、app_name()、getdate()
発生している正確な時刻がわかっている場合は、現在実行中のプロセスに関する多くの有用な情報を返すsp_who2またはsp_whoisactiveタイプのプロシージャを使用して、それらを実行でキャッチできます。
ただし、このアクティビティを予測できないように思われるため、問題のデータベースとテーブルでSQLプロファイラートレースとフィルターを実行することをお勧めします。責任者を指名するのに役立つイベント(LoginName、HostNameなど)を必ずキャプチャしてください。ネット上には、簡単なトレースを紹介する記事が無数にあります。