Sybase Central を使用して、2 つのデータベーススキーマを比較できます。比較は SQL 文形式で出力されるのでそれを [データベース 1] に対して実行すると [データベース 2] と同じにすることができます。
前提条件
生成された SQL スクリプトには、[データベース 1] のスキーマを [データベース 2] のスキーマと同じにするために必要な文が含まれます。スクリプトを実行する前に [データベース 1] はバックアップすることをおすすめします。また、スクリプトの実行中は、データベースに対する他の接続がないことを確認します。
内容と備考
次に示す操作は、この機能を使用して [データベース 1] には実行することはできないため、比較中に生成される SQL 文のリストには含まれていません。これらの操作のいずれかが必要な場合は、生成される SQL 文のリストの一番上に、操作を説明する通知が表示されます。
DB 領域のファイル名の変更
ドメインの変更
リモートサーバーの読み込み専用設定の変更
テーブルの DB 領域の変更
グローバルテンポラリテーブルの COMMIT アクションか SHARE BY ALL 設定またはその両方の変更
テーブルまたはグローバルテンポラリテーブルでのカラムの順序の変更
パブリケーションの同期タイプの変更
データベースを比較する際、オブジェクトはオブジェクト ID ではなく、名前、名前と所有者、または名前と所有者の組み合わせで照合されます。[データベース 1] にはある [データベース 2] にはないのすべてのオブジェクト名 (名前が変更されたテーブルとカラムを含む) は、削除され再作成されるので、その際にデータが失われる場合があります。
Sybase Central の SQL Anywhere 12 プラグインを使用すると、比較する 2 つのデータベースに接続できます。
[ツール] » [SQL Anywhere 12] » [データベースの比較] をクリックします。
[データベースの比較] ウィンドウが表示されます。
スキーマを変換するデータベースが [データベース 1] フィールドに指定され、スキーマの変換元データベースが [データベース 2] フィールドに指定されていることを確認します。
[比較] をクリックします。
[Objects] タブに、データベース内のオブジェクトがリスト化されます。[SQL スクリプト] タブに生成された SQL 文が表示されます。
[Objects] タブでアイテムをクリックすると、そのオブジェクトの SQL 文の違いを参照できます。背景が赤の場合、オブジェクトの SQL は [データベース 1] のみにあり、背景が緑の場合、オブジェクトの SQL は [データベース 2] のみにあり、背景が青の場合、オブジェクトの SQL は両方のデータベースにあることを示します。
[SQL スクリプト] タブの [Interactive SQL で開く] をクリックすると、[SQL 文] ウィンドウ枠に文を貼り付けた状態で Interactive SQL を開くことができます。文は必要に応じて編集、実行できます。SQL 文を実行すると [データベース 1] を [データベース 2] と同じにできます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |