データベーススキーマの比較

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム > 

データベーススキーマの比較

データベーススキーマの比較により2つの異なるデータベーススキーマを構造とサイズにより比較することができます。比較することのできるデータベースオブジェクトは、テーブル、列、ビュー、関数、および、ストアドプロシージャが含まれます。テーブルに対して、比較はビュー、関数、または、ストアドプロシージャとは異なる方法で作動します。具体的には、テーブルの場合、比較の結果のレポートは、(異なる列、制約、データ型などの)構造の差分を報告します。ビュー、関数、ストアドプロシージャの場合、比較の結果は、オブジェクトのサイズが同じの場合、または、差異がデータベース B (比較の右側)に比較されてデータベース内 A (比較の左側) にある場合差異が報告されます。

 

メモ:データベースオブジェクト定義の行ごとのテキストの比較はサポートされていません。(例えば、 データベースビューなどの) 2つのオブジェクトを行ごとに比較するには、ファイルに定義を最初に保存し、 のファイルの比較ビュー内で両方のファイルを開きます。

 

データベーススキーマの比較を開始するには、スキーマ比較 ic_schema-compare ツールバーボタンをクリックします。 2つのデータベースコンポーネントは横に並べられ表示されます (左側のコンポーネントと 「右側」 コンポーネント)。 実際の比較を実行する前に、左側と右側のコンポーネントにデータソースを割り当てる必要があります。スキーマのすべてのオブジェクト、または、特定のスキーマオブジェクトを比較のために選択することができます。比較内に含まれるオブジェクトを変更するには、 右側、または、左側のコンポーネントの 「参照」 diff_browse_button ボタンを押して、必要とされるチェックボックスを選択、または、クリアしてください。  詳細に関しては、次を参照してください: データベーススキーマの比較の実行

dbdiff_schema_comparison_sample

サンプルデータベーススキーマの比較

上のサンプルデータベーススキーマの比較は、2つのSQL Server データベース 「ZooDB」 と 「ZooDBTarget」 間のストアドプロシージャ、テーブル、およびビューの比較の結果を示します。(ic_equal サインにより示される)テーブルの定義は両方のソースとターゲットスキーマ内で同じですが、( ic_diffs サインで示される)ストアドプロシージャとビュー定義は異なります。

 

データベーススキーマの比較をファイルとして保存することもできます。 データベーススキーマの比較ファイルは .dbsdif 拡張子を持ち 。 比較ファイルは、比較に使用されたデータベースの接続詳細、比較のために選択されたデータベースオブジェクト、「プロパティ」ウィンドウ内で定義された構成オプションを保存し、(次を参照してください: データベーススキーマの比較ファイル)。

 

異なるデータベース比較オプションを構成することができます。例えば、DatabaseSpy を使用して、比較されるテーブル、または、列を (名前、データ型、または、両方により)自動的に一致させることができます。または、マッピングを手動で行うこともできます。比較オプションは、 「ツール | DiffDog オプション | データベースの比較」から調整することができます。

 

データベーススキーマの比較の実行の後、左側、または、右側のデータベースを更新するためにマージスクリプトを生成することができます。 DiffDog 内で直接マージスクリプトをレビュー、実行、および DatabaseSpy 内で開き、または、ファイルに保存することができます。 マージスクリプト内に含むために特定のオブジェクトを選択することができます (例えば、テーブルの1つまたは複数の列)。詳細に関しては、次を参照してください: データベーススキーマのマージ.

 

メモ:(列、キー、または、制約への変更を含む)テーブルの構造 の比較後の差分のみをマージスクリプトは同期化します。(ストアドプロシージャ、関数、ビューなどの)他のオブジェクトの型の間の差分のマージ はサポートされません。

 


(C) 2019 Altova GmbH