0

削除されたユーザー名を取得するために、CDC テーブル (例: cdc.dbo_testCDC_CT) に新しい列を追加して、ログに記録された SQL ユーザー名を設定しました。すなわち; ALTER TABLE cdc.dbo_testCDC_CT ADD ユーザー名 VARCHAR(20) DEFAULT(SUSER_SNAME()))。その列に入る値は常に「sa」ですが、Windows 認証としてログに記録されます。なぜこのハプニング?

4

3 に答える 3

1

ソリューションは、「変更者」または「挿入者」のログに記録されたユーザー名をキャプチャし、それをキャプチャ インスタンス自体の基になるデータ テーブル サブジェクトに永続化する必要があります。このようにして、CDC インスタンスはログに記録されたユーザー名も取得します。

すでに述べたように、2 つの単純な理由から、システム生成テーブルは絶対に変更しないでください。 1. 何らかの理由でテーブルを復元すると、変更内容が失われます。

これが役立つことを願っています。

于 2015-09-08T19:54:17.053 に答える