ターゲットテーブルがSQLServerで、ミラーリング処理を行うと下記のWarning
メッセージがログに出力されるケースが存在します。
An UPDATE transaction has updated 2 records. Verify the key setting for the target table.
このWarningは「ターゲットテーブルに重複キーが複数存在するので、複数レコード
を更新しました。」という意味です。
原因は下記のケースが考えられます。
1. ターゲットテーブルに対してDBMotoからキーを設定しており、かつ重複キーが
存在しレコードを更新している。
▼対処法:
ターゲットテーブルでキーが重複しないようにする。
2. ターゲットテーブルに対してSQLServer側でトリガーを設定しており、
そのトリガーから同構造他テーブルに対しても更新処理するようになっている。
▼対処法
トリガー内で「SET NOCOUNT ON」をSQLクエリの前に記述する。
参考サイト:http://msdn.microsoft.com/ja-jp/library/aa259204(SQL.80).aspx
by S.F
関連したトピックス
- イニシャル・リフレッシュを行った時のリフレッシュとミラーリングでのトランザクション管理【DBMoto】
- HiT OLEDB/400とSQL Server:DTSによる通信
- リモートディストリビュータ(SQLServer)【リアルタイムレプリケーションツールDBMoto】
- レプリケーションの設定【リアルタイムレプリケーションツールDBMoto】
- SQL Server のデータベースパフォーマンス監視の重要性 [DPA]
- MySQLでのutf8で文字化けの対応方法【リアルタイムレプリケーションツールDBMoto】
- SourceとTarget等の設定について【リアルタイムレプリケーションツールDBMoto】
- log上のwarningメッセージのdisable方法【リアルタイムレプリケーションツールDBMoto】
- HiT OLEDB Server/400での文字データの転送における文字問題