Sql Serverデータベースで、データの変更を検出する方法はありますか? checksum
&を使用してそれを実行しようとしchecksum_agg
ましたが、単一のテーブルで、すべてのテーブルのチェックサム(ハッシュ)全体を取得するだけです
サインテーブルに使用したクエリは
select isnull(CHECKSUM_AGG(CHECKSUM(*)),0) from mytable
Sql Serverデータベースで、データの変更を検出する方法はありますか? checksum
&を使用してそれを実行しようとしchecksum_agg
ましたが、単一のテーブルで、すべてのテーブルのチェックサム(ハッシュ)全体を取得するだけです
サインテーブルに使用したクエリは
select isnull(CHECKSUM_AGG(CHECKSUM(*)),0) from mytable
「SP_MSFOREACHTABLE」コマンドを使用して、すべてのテーブルでループを実行し、合計を集計できます
INSERT/UPDATE/DELETE トリガーが必要なようです。
これが効率的かどうかはわかりません。テーブルが大きくなるにつれて、計算のコストが高くなります。データが変更されるたびにこれを行う必要がありますか? 変更はどのくらいの頻度で行われますか? すべての操作で多くの作業を無駄にしています。書き込み操作ごとではなく、必要に応じて要求に応じて実行できる場合があります。