次の方法で共有


データ比較に関する問題のトラブルシューティング

2 つのデータベース間でデータを比較するとき、このトピックで説明する問題が発生する場合があります。

比較するテーブルの一覧にテーブルが表示されない

次の条件がすべて満たされたときにだけ、比較可能なテーブルの一覧にテーブルとビューが表示されます。

  • テーブルには、互換性のあるデータ型が設定された一致する列名が必要です。

    テーブル、ビュー、および所有者の名前は、大文字と小文字が区別されます。 スキーマの詳細については、「データベース スキーマの比較と同期」を参照してください。

  • テーブルは、主キー、一意のインデックス、または一意の制約が同じである必要があります。

  • ビューは、一意のクラスター化インデックスが同じである必要があります。

  • テーブルとビューは、名前とスキーマ定義が同じである場合にのみ比較できます。

sql_variant 型の相違

列内の値が同じ場合、データ更新スクリプトを検査して sql_variant 型のメタデータの相違を確認する必要があります。 異なるレコード リストは、これらの型の相違を反映しません。

日本語 Unicode データを比較するとエラーが発生する

SQL Server データベースの照合順序、またはデータベース内のテーブルの列の照合順序を指定できます。 しかし、Japanese_Unicode_Qualifier 照合順序 (Qualifier は、BIN、CS、CI、または CS_AS_KS_WS) のいずれかを使用するデータ比較を試みると、[エラー一覧] ウィンドウにロケールがサポートされていないというエラーが表示されます。 SQL Server はこれらの照合順序をサポートしていますが、.NET Framework ではサポートしていません。

注意

この問題を解決するには、データベースまたは列の照合順序を Japanese_Unicode_Qualifier から Japanese_Qualifier に変更します。Qualifier の値は、どちらの場合も同じです。 データベースの照合順序を変更する方法については、Microsoft Web サイトの「サーバー照合順序の設定と変更」を参照してください。 計算列、インデックス、配分統計情報、CHECK 制約、または FOREIGN KEY 制約によって参照されない列の場合は、テーブル定義を変更して、列の照合順序を変更します。

参照

処理手順

方法: 2 つのデータベースのデータを比較して同期させる

概念

1 つ以上のテーブルのデータを参照データベースのデータと比較して同期する