次の方法で共有


レプリケートされたテーブルを比較して相違点を確認する (レプリケーション プログラミング)

アーティクルの検証は、パブリッシャーとサブスクライバーのテーブル アーティクルのパブリッシュされたデータが同じでないかどうかを判断するために使用されます。これは、非収束を示している可能性があります。 詳細については、「 レプリケートされたデータの検証」を参照してください。 ただし、検証では合格または失敗の情報のみが返され、ソース テーブルと変換先テーブルの違いに関する情報は提供されません。 tablediff コマンド プロンプト ユーティリティは、2 つのテーブル間の詳細な違い情報を返します。また、サブスクリプションをパブリッシャーのデータと収束させる Transact-SQL スクリプトを生成することもできます。

tablediff ユーティリティは、SQL Server サーバーでのみサポートされています。

tablediff を使用してレプリケートされたテーブルの相違点を比較するには

  1. レプリケーション トポロジ内の任意のサーバーでコマンド プロンプトから tablediff ユーティリティを実行します。 次のパラメーターを指定します。

    • -sourceserver - データが正しいことがわかっているサーバーの名前 (通常はパブリッシャー)。

    • -sourcedatabase - 正しいデータを含むデータベースの名前。

    • -sourcetable - 比較対象のアーティクルのソース テーブルの名前。

    • (省略可能) -sourceschema - 既定のスキーマではない場合は、ソース テーブルのスキーマ所有者。

    • (省略可能)SQL Server 認証を使用してパブリッシャーに接続する場合の -sourceuser-sourcepassword

      重要

      可能な場合は、Windows 認証を使用します。 SQL Server 認証を使用する必要がある場合は、実行時にセキュリティ資格情報を入力するようにユーザーに求めます。 スクリプト ファイルに資格情報を格納する必要がある場合は、未承認のアクセスを防ぐためにファイルをセキュリティで保護する必要があります。

    • -destinationserver - データを比較するサーバーの名前 (通常はサブスクライバー)。

    • -destinationdatabase - 比較するデータベースの名前。

    • -destinationtable - 比較対象のテーブルの名前。

    • (省略可能) -destinationschema - 既定のスキーマではない場合は、コピー先テーブルのスキーマ所有者。

    • (省略可能)SQL Server 認証を使用してサブスクライバーに接続する場合の -destinationuser-destinationpassword

      重要

      可能な場合は、Windows 認証を使用します。 SQL Server 認証を使用する必要がある場合は、実行時にセキュリティ資格情報を入力するようにユーザーに求めます。 スクリプト ファイルに資格情報を格納する必要がある場合は、未承認のアクセスを防ぐためにファイルをセキュリティで保護する必要があります。

    • (省略可能)列レベルの比較を行うには、 -c を使用します。

    • (省略可能) -q を 使用して、高速な行数とスキーマのみの比較を行います。

    • (省略可能)結果をファイルに出力する -o のファイル名とパスを指定します。

    • (省略可能) -et の結果を挿入するサブスクリプション データベース内のテーブルを指定します。 テーブルが既に存在する場合は、最初にテーブルを削除する -dt を指定します。

    • (省略可能)パブリッシャーのデータと一致するようにサブスクライバーのデータを修正する Transact-SQL ファイルを生成するには、 -f を使用します。 -df を使用して、各ファイル内の Transact-SQL ステートメントの数を指定します。

    • (省略可能) rc-ri を使用して、操作を再試行する回数と再試行間隔を指定します。

    • (省略可能)ソース テーブルと変換先テーブルの間で厳密なスキーマ比較を適用するには、 -strict を使用します。

こちらもご覧ください

サブスクライバーでのデータの検証