データベースを置換する際にテーブル名を指定することで、テーブルを除外することができます。ターゲット上に存在するテーブルを除外しても既存のターゲット テーブルは削除されません。
EXCLUDE TABLE句がSQLバッファに対して長すぎる場合、エラーが発生します。バッファの長さの制限は、SQLバッファにすでに存在するデータの量によって異なります。エラーが発生した場合は、ジョブの再実行依頼をする前に、サイズを小さくしてEXCLUDE TABLEリストを修正します。別の回避策としては、データベース全体のコピーを選択するのではなく、すべてのテーブルを選択し、除外された句が含まれないようにする方法があります。
- <replaceDatabase="true">を設定して、指定したデータベースを置換します。
- <table selection="excluded">を設定して、テーブル名を指定します。
次の例では、ターゲット データベースがソース データベースに置き換えられていますが、顧客テーブルはターゲットにコピーされません。
ターゲット上に顧客テーブルが既に存在する場合、以下に示すようにXMLで顧客テーブルを除外しても、ターゲットからは削除されません。
<database selection="included" replaceDatabase="true"> <name>MyDatabase</name> <table selection="excluded"> <name>Customers</name> </table> </database>