ジョブ作成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>