[バックアップまたは復元を使用してレプリケーション サブスクリプションを手動で同期する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:320499
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
手動で同期する方法についてを説明しますバックアップを使用して、レプリケーション プッシュ サブスクリプションと復元します。

場合によっては、完全レプリケーションのサブスクリプションを使用して同期できません、次の潜在的な理由のための既定のメソッド。
  1. 転送する必要がある大規模なテーブルがある、サブスクライバー。
  2. ネットワークの帯域幅は、増分の変更しか処理できません。そのため、大規模な BCPs にはタイムアウトがあります。
  3. パブリッシャーは、運用サーバーです。したがって、ビジネスダウンタイムを最小化する必要があります。
このような場合は、SQL Server のバックアップ コピーを作成するために使用できます。パブリッシュされたデータベースの;、サブスクライバー上のデータを復元する、これにより、レプリケーションのセットアップ、設定、スキーマまたはユーザーを提供することなくが、レプリケーションの使用をテストデータをネットワーク経由で。次のセクションでの手順と考慮事項を一覧表示します。手動同期であるかどうかを確認することがあります。正常に終了します。

back to the top

トランザクション レプリケーション

トランザクション レプリケーションは、格納およびシリアルのトランザクションを転送します。サブスクライバーにします。パブリッシュされたテーブルへの変更は非常に重要です。サブスクライバーでは、送信された順に配信。

新しいサブスクリプションでは、それぞれの変更のトランザクション レプリケーションのマークします。パブリッシュされたテーブル (またはテーブル) がトランザクション ログに。既定値サブスクリプションの配信方法は、テーブルがロックされてを使用して、データをエクスポート、 bcp ユーティリティは、パブリッシュされたテーブルのロックを解除して、進捗管理を開始パブリッシュされたデータベースに変更します。SQL Server 2000年には、 同時実行スナップショット 機能は、スナップショットのロッキング オーバーヘッドが向上します。SQL Server 2000年とSQL Server 7.0 ファイル転送プロトコルを使用してスナップショットを転送できます。(FTP)。ただし、場合は、バックアップ方法を使用できます、以下オプションは受け付けられません。

パブリッシュされたデータベースをバックアップして、サブスクライバーに復元する、スナップショットの作成処理を減らすことができます。時間にかかる時間を発行済みデータベースをバックアップします。データベースバックアップがサブスクライバーに転送されませんすべてのオブジェクトが含まれています。レプリケーションです。上のテーブルを転送する bcp を実行する必要はありませんが[ネットワーク] します。

発行済みデータベースをバックアップするのには、2 つの方法があります。最初のメソッドは、パブリッシュされるデータベースの完全バックアップを使用します。は、完全なバックアップ方法最適か、データベースのサイズが小さい場合は、データベース完全復旧モードに設定されていません。2 番目のメソッドは、トランザクション ログのバックアップを使用してし、データベースの完全バックアップを既にキャプチャしたこと前提としています。トランザクション ログのバックアップ方法は、データベースがシングル ユーザー モードである必要があります時間を減らします。トランザクション ログのバックアップはフル ・ バックアップよりも時間をかかります。Ifトランザクション ログのバックアップ方法を使用して、これらの手順を実行する予定します。
  1. パブリッシュされたデータベースの完全復旧が実行されていない場合モードは、完全復旧モードに変更します。
  2. パブリッシュされたデータベースのバックアップをバックアップしてください。
  3. 最小限に抑えるために、ログ ファイルをバックアップします。サブスクリプションの手順を実行してから、次の手順に従いますに要する時間。
サブスクリプションをセットアップするには、次の手順を実行します。
  1. パブリッシュされたデータベースを防ぐためには、シングル ユーザー モードで配置します。データベースには格納されて、次を実行することによって行われる変更手順: sp_dboption の 'true' 'DBNAME'、'1 人のユーザー'、.これは、変更は、データベースに加えられるを禁止します。これで、重要なステップです。パブリッシャーと同期しないようにするはサブスクライバー。接続されているすべてのレプリケーション エージェントを停止する必要があります、実行する前にデータベースを sp_dboption ストアド プロシージャです。
  2. 完全バックアップの方法を使用している場合は、パブリッシュされたデータベースのバックアップをバックアップしてください。トランザクション ログの方法を使用している場合は、パブリッシュされたデータベースのトランザクション ログをバックアップします。
  3. 文書に新しいサブスクリプションを作成します。選択 いない データとスキーマを提供します。
  4. サブスクリプションを設定しているときに、ファイルの場所ディストリビューション エージェントのスケジュールの画面。1 回だけ実行するタスクを変更します。(このディストリビューション エージェントを復元した後まで実行されないように、データベース [しトランザクション ログのバックアップ] でサブスクライバーします)。
  5. 使用してデータベースをシングル ユーザー モードから削除、次のストアド プロシージャの呼び出し。 sp_dboption 'DBNAME'、'1 人のユーザー'、'false'.サブスクリプションが設定されているため、すべての変更が転送されます。ディストリビューション データベース。
  6. サブスクライバー データベースを復元します。トランザクション ログの方法を使用している場合は、フル ・ バックアップとトランザクション ログを復元します。バックアップします。ディストリビューション エージェントが実行されていないする必要があります。この時点では。場合は、復元されるデータベースをできなくなります。は、手順 4 で、エージェントのスケジュールが変更されました。
  7. 生成、 挿入, 更新プログラム、、 削除 レプリケーション中に使用する手順します。生成することができます、CREATE PROCEDURE ステートメントでこれらの手順のいずれかを実行して、次の手順: (手順は、レプリケーションのタイプによって異なりますSQL Server のバージョン)
    1. SQL Server 2000年。 sp_scriptpublicationcustomprocs

      実行 sp_scriptpublicationcustomprocs パブリッシャー側では。ここに格納されているテキストを生成します。サブスクライバーで必要な手順します。生成されたスクリプトを実行するのはサブスクライブしているデータベースです。
    2. 即時更新とキューに登録されたサブスクライバーの。 sp_script_synctran_commands

      メモ 即時更新とキュー サブスクライバーはステップ 4 の例外です。実行する必要があります、ディストリビューション エージェントの出力には、適用する前には、 sp_script_synctran_commands サブスクライバ ・ データベースにあるため、関連テーブルという名前のディストリビューション エージェントが生成されます。 MSsubscription_agents.ディストリビューション エージェントを実行すると、によって生成されるスクリプトを適用します。 sp_script_synctran_commands サブスクライバー データベースにします。実行する必要がありますも、 sp_scriptpublicationcustomprocs ストアド プロシージャでの即時更新サブスクライバーでは、パブリッシャーと、生成されたスクリプトは、サブスクライブするデータベースの。

    3. 出力用に適用する必要があります。 sp_script_synctran_commands サブスクライバー データベースにします。ただし、まず実行する必要があります、サポートという名前のテーブルを生成するのには、ディストリビューション エージェント MSsubscription_agents、および実行すると、生成される出力を適用できます sp_script_synctran_commands.でも実行する必要があります。 sp_scriptpublicationcustomprocs 即時更新するサブスクライバーは、パブリッシャーの。実行、サブスクライブしているデータベースでのスクリプトを生成します。
    4. SQL Server 7.0 の場合。 sp_scriptinsproc, sp_scriptdelproc, sp_scriptupdproc, sp_scriptmappedupdproc

      これらの手順の手順のスクリプトを生成します。サブスクライバーで必要な場合、されます。サブスクリプションに対するこれらのスクリプトを実行します。データベースです。
  8. ディストリビューション エージェントを起動します。設定することができます、ディストリビューション エージェントを継続的に実行します。これを行うには、追加します。 -継続的です ディストリビューション エージェントのコマンドラインへです。
詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
299903修正プログラムを適用します。sp_scriptpublicationcustomprocs は、レプリケーション ストアド プロシージャを生成します。
back to the top

マージ レプリケーション

メモいいえ同期のサブスクリプションはマージ プル サブスクリプションではサポートされていません。

時バックアップまたは復元すると、によるマージ パブリケーションへのサブスクリプションを設定します。なし-同期オプション、次の手順を実行します。
  1. データベースを発行して、スナップショット エージェントを実行します。Ifデータベースがパブリッシュされて、スナップショット エージェントを実行するだけであります。

    パブリッシャー側で行われたすべての変更が今は記録されますがマージ レプリケーション システム テーブル。
  2. パブリッシュされたデータベースをバックアップした後で復元をサブスクライバー。
  3. 新しいサブスクリプションを作成し、 いいえ、サブスクライバー既にスキーマとデータをが.
  4. マージ エージェントを実行します。

    マージ エージェントを実行すると、マージ レプリケーション テーブルを作成するのには、まず、スナップショットを使用します。すべてのスナップショットが生成された後に加えられた変更を適用する、サブスクライバー。
    • これで、手順 1 と手順 2 の間で行を追加する場合プロシージャは、サブスクライバーでの更新と新しい行が表示されます。行既に復元のために存在します。したがって、新しい行を表示します。サブスクライバー。
    • 手順 1 と手順 2 の間のすべての行を削除した場合この手順では、マージ エージェントのレポートをために変更する必要がありますいないこと行はサブスクライバーに存在しません。[バックアップまたは復元が実行されました。パブリッシャーで行が削除された後。
    • 行が更新された場合の間手順 1 と手順 2この手順では、これらの更新はサブスクライバーに表示されます。
back to the top
詳細
トランザクションは、SQL Server 2005 でバックアップからサブスクリプションを初期化する方法の詳細については、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。SQL Server 2005 でバックアップからマージ サブスクリプションを初期化する方法の詳細については、次の MSDN Web サイトを参照してください。

警告: この記事は自動翻訳されています

プロパティ

文書番号:320499 - 最終更新日: 12/07/2015 10:24:22 - リビジョン: 11.0

  • kbnosurvey kbarchive kbhowtomaster kbmt KB320499 KbMtja
フィードバック