Using the Schema Diff tool#
Schema Diffは、2つのデータベーススキーマ間のスキーマオブジェクトを比較します。 Tools メニューを使用して、Schema Diffにアクセスします。
スキーマ差分を使用すると、次のことができます。
データベーススキーマソースからターゲットへを比較および同期します。
データベーススキーマ間の違いを視覚化します。
ターゲットスキーマオブジェクトのSQLステートメントの差異をリストします。
同期スクリプトを生成します。
選択パネルを開くには、 Tools > Schema Diff を選択します。比較するソースおよびターゲットサーバー、データベース、およびスキーマを選択します。オブジェクトを選択したら、[ Compare ]を選択します。
注釈
ソースデータベースとターゲットデータベースは、同じメジャーバージョンを使用する必要があります。
スキーマ差分の複数のコピーを個々のタブで開くことができます。新しいブラウザタブでスキーマ差分を開くかどうかを指定するには、[設定]ダイアログボックスを選択します。 新しいブラウザタブで開く を true に設定します。
[ Schema Diff ]パネルは、 Object ComparisonパネルとDDL Comparisonパネルの2つのパネルに分割されています。
Schema Diff Object Comparisonパネル#
[ Object Comparison ]パネルでは、比較する同じメジャーバージョン、データベース、およびスキーマのソースサーバーとターゲットサーバーを選択できます。接続されているか切断されているかにかかわらず、ブラウザツリーの下にリストされているサーバーを選択できます。接続されていないサーバーを選択した場合、そのサーバーを使用する前にパスワードを入力する必要があります。
比較するデータベースを選択します。データベースは同じでも異なっていても、同じまたは別のサーバーからのものでもかまいません。
比較するソーススキーマとターゲットスキーマを選択します。
サーバー、データベース、およびスキーマを選択したら、 Compare を選択して比較結果を取得します。
ファンクション 、 マテリアライズドビュー 、 テーブル 、 トリガーファンクション 、 プロシージャ 、および ビューs のリストを使用して、すべてのDDLステートメントを表示しますスキーマオブジェクト。
スキーマオブジェクトをフィルタリングするには、[ Object Comparison ]パネルの右上隅にある Filter を選択します。次の基準に従ってスキーマオブジェクトをフィルタリングします。
同一 - 同じSQLステートメントを使用して両方のスキーマでオブジェクトが見つかった場合、比較結果は同じです。
異なる - 異なるSQLステートメントを使用して両方のスキーマでオブジェクトが見つかった場合、比較結果は異なります。
ソースのみ - オブジェクトがソーススキーマでのみ見つかり、ターゲットスキーマで見つからない場合、比較結果はソースのみです。
ターゲットのみ - オブジェクトがターゲットスキーマでのみ見つかり、ソーススキーマで見つからない場合、比較結果はターゲットのみです。
Object Comparisonパネルでスキーマオブジェクトのいずれかを選択して、そのオブジェクトのDDLステートメントをDDL Comparisonパネルに表示します。
Schema Diff DDL Comparisonパネル#
[DDL Comparison]パネルには、3つの列が表示されます。
最初の列には、ソーススキーマからのオブジェクトのDDLステートメントが表示されます。
2番目の列には、ターゲットスキーマからのオブジェクトのDDLステートメントが表示されます。
3番目の列には、ターゲットスキーマオブジェクトのSQLステートメントの差異が表示されます。
SQLステートメントの違いを確認するには、すべてのスキーマオブジェクトのDDLステートメントを確認します。
Schema Diffツールは、ターゲットスキーマオブジェクトで見つかった差分を使用してSQLスクリプトを生成できます。 SQLスクリプトは、ターゲットスキーマオブジェクトをソーススキーマオブジェクトのSQLステートメントと比較します。スクリプトを生成するには
Object Comparisonパネルで、スキーマオブジェクトのチェックボックスをオンにします。
Generate Script を選択します。
新しいタブでクエリツールを開き、クエリエディタでSQLステートメントの違いを表示するには
スキーマオブジェクトを選択します。
Generate Script を選択します。
スキーマオブジェクトを選択して、 [DDL比較]パネルで生成された差分を確認したが、スキーマオブジェクトのチェックボックスを選択しない場合、PEMは新しいタブでクエリツールを開きます。 Queryツールは、 SQLステートメントの差異をクエリエディターに表示します。
[DDL Comparison]パネルで生成された差分をコピーするには、 Copy を選択します。
ターゲットスキーマにSQLステートメントを適用して、スキーマを同期します。