その他の質問 、ここではプロセスとセキュリティのレビューが必要だと思います。これは監査済みのデータベースであるため、誰も(特に サードパーティのサービスプロバイダー)は、知らないうちにデータベースにテーブルを作成する必要があります 。
問題は、作成される新しいテーブルだけでなく、監査/変更されたレコードを格納するために別のテーブルを作成する必要があることです。このテーブルは、元のテーブルと同じ構造で、時間/日付が含まれている可能性があります。およびユーザー列。サードパーティプロバイダーがこのテーブルを作成している場合、監査テーブルを作成することを知らないため、トリガーを動的に生成できたとしても、機能しません。
テーブル間の構造は必然的に異なるため、データベース内の他のすべてのテーブルのすべての変更レコードを保持する単一のテーブルを作成することは不可能です。
したがって、すべての変更要求を行います(たとえば、プロバイダーがTableXを作成したい場合、変更の理由を説明する変更要求(SQLスクリプトを含む)を自分自身および/またはチームに送信します)。
データベースのテストコピーでSQLを実行し、同じ構造を使用して、変更されたレコードを保持する別のテーブルを作成します。
次に、必要なトリガーを作成してテストし、新しいSQLスクリプトを生成して、2つのテーブルとトリガーを作成し、ライブデータベースで実行します。新しいテーブルを使用する権限をプロバイダーに付与すると、それらは使用できなくなります。
みんな幸せです。はい、少し時間がかかる場合があります。また、やらなければならない作業は多くなりますが、クエリログを解析して、すでに変更されたレコードを再作成するのに必要な作業よりもはるかに少ない作業です。削除するか、バイナリログを解析して、変更のたびに最新の状態に保ち、ログファイルの形式が変更された場合などにコードを変更します。