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ステートメントと比較します。スクリプトを生成するには

  1. Object Comparisonパネルで、スキーマオブジェクトのチェックボックスをオンにします。

  2. Generate Script を選択します。

新しいタブでクエリツールを開き、クエリエディタでSQLステートメントの違いを表示するには

  1. スキーマオブジェクトを選択します。

  2. Generate Script を選択します。

スキーマオブジェクトを選択して、 [DDL比較]パネルで生成された差分を確認したが、スキーマオブジェクトのチェックボックスを選択しない場合、PEMは新しいタブでクエリツールを開きます。 Queryツールは、 SQLステートメントの差異をクエリエディターに表示します。

[DDL Comparison]パネルで生成された差分をコピーするには、 Copy を選択します。

ターゲットスキーマにSQLステートメントを適用して、スキーマを同期します。