ジョブ作成XMLでcompare_ddl要素を使用して、個別のオブジェクト、データベース中のすべてのテーブルとビュー、またはジョブ内のすべてのテーブルとビューを対象としてDDLの比較を実行するように指定します。
compare_ddlフラグはオブジェクト、データベース、またはジョブのいずれのレベルでも常にオプションです。つまり明示的に値を設定する必要はありません。デフォルトの場合、コピーする個別のテーブルまたはビューを指定すると、DDLの比較が有効になり、データベース全体のコピー時にはテーブルとビューに対してDDLの比較が無効になります。
- ジョブのジョブ定義情報を持つparameters.xmlファイルを開きます。
- ジョブ作成XML内の適切な位置にcompare_ddl要素を追加し、目的の値を指定します。
オプション 説明 true データベースまたはジョブの個別のオブジェクト、またはすべてのテーブルとビューに対してDDLの比較を実行します。 false データベースまたはジョブの個別のオブジェクト、またはすべてのテーブルとビューに対してDDLの比較を実行しません。 unspecified 優先順位の高い別の値が指定されていない限り、デフォルト値を使用します。 次の例では、DDLの比較のフラグを設定するスコープ レベルに応じた、compare_ddl要素の配置について説明します。
テーブルの例: Table1に対してDDLの比較を実行し(デフォルト)、Table2には実行しません。
<table selection="included"> <name>Table1</name> </table> <table selection="included"> <name>Table2</name> <compare_ddl>false</compare_ddl> </table>
ビューの例: ビューをコピーするときにDDLの比較を実行します。copyData要素もtrueに設定されていなければなりません。
<views> <view selection="included" copyData="true"> <name>deptsals</name> <database>MyDb</database> <view_data_table> <target_table>TargetTable</target_table> <target_database>TargetDb</target_database> </view_data_table> <compare_ddl>true</compare_ddl> </view> </views>
データベースの例: データベースのすべてのテーブルとビューに対してDDLの比較を実行します。
<database selection="all"> <name>MyDB</name> <compare_ddl>true</compare_ddl> </database>
データベースのテーブルの例: データベース全体をコピーするときに、MyDBデータベースにあるMyDB.PPIOrdersテーブル以外のテーブルに対してDDLの比較を実行します。
<database selection="all"> <name>MyDB</name> <compare_ddl>true</compare_ddl> <table selection="included"> <name>PPIOrders</name> <compare_ddl>false</compare_ddl> </table> </database>
ジョブの例: ジョブのすべてのテーブルとビューに対してDDLの比較を実行します。
<job_name>MyJob</job_name> ... <overwrite_existing_objects>true</overwrite_existing_objects> <force_utility>tptapi</force_utility> <compare_ddl>true</compare_ddl> <database> ... </database>