DBMotoを使用してデータベース変更用の監査ログの作成方法について:
Topic ID:KBFAQ1647 (11/18/09)
DBMotoを使用してデータベースへの変更のログ・テーブルを メンテナンスすることは可能です。ソース・テーブルはユーザが監査したいテーブルで、ターゲット・テーブルは起こったすべての変更のログです。レプリケーションはソースとターゲット間で実行されています。しかし変更に関する外部ログをソース・テーブルに保持することを唯一の目的をします。
ターゲット(ログ)テーブルはソース・テーブルのすべてのフィールド、プラス、タイムスタンプとオペレーション(インサート、アップデート、デリート)で起こったタイプの代表される値の追加フィールドを含みます。
● もしレコードがソース・テーブルに追加されると、ターゲット(ログ)テーブルにレコードがインサートされ、そしてタイムスタンプ付きでテーブルのフィールドが設定され、動作のタイプ(インサート)が実行されます。
● もしレコードがソース・テーブルにアップデートされると、ターゲット(ログ)テーブルにレコードがインサートされ、そしてタイムスタンプ付きでテーブルのフィールドが設定され、動作のタイプ(アップデート)が実行されます。
● もしレコードがソース・テーブルに削除されると、ターゲット(ログ)テーブルにレコードがインサートされ、そしてタイムスタンプ付きでテーブルのフィールドが設定され、動作のタイプ(デリート)が実行されます。
下記のサンプルはユーザのソース・テーブルがIBM DB2 for iに、ターゲット(ログ)テーブルがMicrosoft SQL Server 2005に定義されています。レプリケーション・タイプはミラーリングで、テーブルはMicrosoft SQL Server 2005に定義されています。
◎IBM DB2 for i (ソーステーブル)
Create table Testlib.CUSTOMERS
(CustomerID integer,
Name varchar(20),
Address varchar(30),
City varchar(10),
State varchar(5),
Zip integer)
◎Microsoft SQL server 2005 (ターゲットテーブル)
Create table “dbmoto6″.”dbo”.CustLog
(
ID integer identity,
CustomerID int,
NAME varchar(20) NULL ,
ADDRESS varchar(30) NULL ,
CITY varchar(10) NULL ,
STATE varchar(5) NULL ,
ZIP int NULL ,
DateTimeStamp datetime,
Action char
)
■設定方法の詳細は >>> 次のサイトを参照ください。
関連したトピックス
- SQL Server の Datetime がMySQLの varchar にマップ【リアルタイムレプリケーションツールDBMoto】
- [DBMoto]関数を使用してレプリケーション時のデータを変換する方法(VB/C#言語選択、関数適用、ユーザ関数作成、置換関数、一括設定手順)
- Syniti Data Replication (旧DBMoto)でのスクリプトの書き方⑤:フィールドマッピング関数の書き方
- HiT OLEDB Server/400とSQL Server Data Transformation Service (DTS)を利用したAS/400とSQL Serverとのデータ変換
- ジュリアンデートのレプリケーション【リアルタイムレプリケーションツールDBMoto】
- [DBMoto]テーブル数が多く、レプリケーション対象のテーブル選択が煩雑なときは
- IDENTITYカラム設定のエラーについて【リアルタイムレプリケーションツールDBMoto】
- DBMotoでサポートするDBアクセス・プロバイダ【リアルタイムレプリケーションツールDBMoto】
- レプリケーションの際にnullを特定の値に変換する方法 その2【リアルタイムレプリケーションツールDBMoto】
- 任意のデータ型でターゲットテーブル作成[DBMoto]