Q:DBMotoの設定、PKの設定を行い、レプリケーションのテストをしているのですが、キー項目にIDENTITYを設定するとエラーになってしまいます。
テーブルのデザインがこのようになっていて、PG上でもインクリメントを必須として動作をしている為、設定を外すことができないのですが、対処の方法はありますか?
A:このエラーの原因としては、IDENTITYカラムが設定されているテーブルの「IDENTITY_INSERT」はOFFになっているため、データインサートはうまくできません。SQL Server上で「IDENTITY_INSERT」をONに設定しても、DBMotoでのレプリケーションのインサートモード(Insert Mode)はデフォルトで「SingleInsert」になっているため、「IDENTITY_INSERT」はOFFに戻ってしまいます。
これを解決するには、該当するレプリケーションを右クリックして「Replication Properties」を選択します。
図に示すように「Insert Mode」を「Bulk Insert」に設定してください。
関連したトピックス
- レコード登録・更新処理に対するコミット・タイミング処理【リアルタイムレプリケーションツールDBMoto】
- SQLServerのCommitについて【リアルタイムレプリケーションツールDBMoto】
- 初期同期(リフレッシュ)をもっと柔軟にリフレッシュフィルタ機能[DBMoto]
- イニシャル・リフレッシュを行った時のリフレッシュとミラーリングでのトランザクション管理【DBMoto】
- Insert、Bulk Insertモードについて【リアルタイムレプリケーションツールDBMoto】
- 運用でのリカバリ方法(SQLServer)【リアルタイムレプリケーションツールDBMoto】
- グループレプリケーションにおける同時DBトランザクションの対策【リアルタイムレプリケーションDBMoto】
- レプリケーション設定手順(各DB別)【リアルタイムレプリケーションツールDBMoto】
- シンクロナイゼーションにおけるコンフリクト回避について【リアルタイムレプリケーションツールDBMoto】
- DBMotoが使うスレッド数の算出方法【リアルタイムレプリケーションツールDBMoto】