レプリケートされたデータベースのアップグレード

SQL Server 2012 では、レプリケートされたデータベースを以前のバージョンの SQL Server からアップグレードすることができます。ノードのアップグレード中は、その他のノードでの操作を停止する必要はありません。 トポロジでサポートされるバージョンに関して、以下の規則が守られていることを確認してください。

  • ディストリビューターは、パブリッシャーのバージョン以上であればどのバージョンでも使用できます (多くの場合、ディストリビューターはパブリッシャーと同じインスタンスです)。

  • パブリッシャーは、ディストリビューターのバージョン以下であればどのバージョンでも使用できます。

  • サブスクライバーのバージョンは、次のように、パブリケーションの種類によって異なります。

    • トランザクション パブリケーションのサブスクライバーは、2 つのパブリッシャー バージョンのうちどちらでも使用できます。 たとえば、SQL Server 2005 のパブリッシャーには、SQL Server 2005、SQL Server 2008 (SQL Server 2008 R2 など)、または SQL Server 2012 を実行しているサブスクライバーを設定でき、SQL Server 2012 のパブリッシャーには、SQL Server 2005、SQL Server 2008 (SQL Server 2008 R2 など)、または SQL Server 2012 を実行しているサブスクライバーを設定できます。

    • マージ パブリケーションのサブスクライバーは、パブリッシャーのバージョン以下であればどのバージョンでも使用できます。

注意

このトピックは、セットアップ ヘルプ ドキュメントおよび SQL Server オンライン ブックで参照できます。 セットアップ ヘルプ ドキュメントで太字で表示されているトピック リンクは、オンライン ブックでのみ参照可能なトピックを示しています。

アップグレードの前にトランザクション レプリケーション用にログ リーダー エージェントを実行する方法

SQL Server 2012 にアップグレードする前には、パブリッシュされたテーブルからコミットされたすべてのトランザクションが、ログ リーダー エージェントによって処理されているかどうかを確認する必要があります。 すべてのトランザクションが処理されたことを確認するには、トランザクション パブリケーションを含んだ各データベースに対して次の手順を実行します。

  1. データベースのログ リーダー エージェントが実行されていることを確認します。 既定では、エージェントは継続的に実行されています。

  2. パブリッシュされたテーブル上のユーザー アクティビティを停止します。

  3. トランザクションをディストリビューション データベースにコピーする時間をログ リーダー エージェントに与えてから、エージェントを停止します。

  4. sp_replcmds を実行し、すべてのトランザクションが処理されたことを確認します。 この手順の結果セットを空にする必要があります。

  5. sp_replflush を実行し、sp_replcmds から接続を閉じます。

  6. SQL Server 2012 へのサーバー アップグレードを実行します。

  7. SQL Server エージェントとログ リーダー エージェントがアップグレードの後に自動的に起動しない場合は、これらを再起動します。

アップグレード後のマージ レプリケーション用エージェントの実行

アップグレード後は、マージ パブリケーションごとにスナップショット エージェントを実行し、サブスクリプションごとにマージ エージェントを実行して、レプリケーション メタデータを更新します。 サブスクリプションを再初期化する必要がないので、新しいスナップショットを適用する必要はありません。 サブスクリプション メタデータは、アップグレード後に最初にマージ エージェントを実行したときに更新されます。 そのため、サブスクリプション データベースは、パブリッシャーのアップグレード中にオンライン状態でアクティブなままにすることができます。

マージ レプリケーションでは、パブリケーション データベースおよびサブスクリプション データベース内の多数のシステム テーブルに、パブリケーション メタデータおよびサブスクリプション メタデータが格納されます。 スナップショット エージェントを実行すると、パブリケーション メタデータが更新され、マージ エージェントを実行すると、サブスクリプション メタデータが更新されます。 生成が必要なのはパブリケーション スナップショットのみです。 パラメーター化されたフィルターがマージ パブリケーションで使用される場合は、各パーティションにもスナップショットが必要です。 これらのパーティション スナップショットを更新する必要はありません

SQL Server Management Studio、レプリケーション モニター、またはコマンド ラインで各エージェントを実行します。 スナップショット エージェントの実行の詳細については、次のトピックを参照してください。

マージ エージェントの実行の詳細については、次のトピックを参照してください。

マージ レプリケーションを使用するトポロジで SQL Server をアップグレードした後に、新しい機能を使用する場合は、すべてのパブリケーションのパブリケーション互換性レベルを変更します。

Standard Edition、Workgroup Edition、または Express Edition へのアップグレード

SQL Server 2012 のいずれかのエディションから別のエディションへアップグレードする前に、現在使用している機能がアップグレード先のエディションでサポートされているかどうかを確認します。 詳細については、「SQL Server 2012 の各エディションがサポートする機能」の「SQL Server 2012 のレプリケーション機能」を参照してください。

マージ レプリケーションの Web 同期

マージ レプリケーションの Web 同期オプションでは、SQL Server レプリケーション リスナー (replisapi.dll) を、同期に使用するインターネット インフォメーション サービス (IIS) サーバーの仮想ディレクトリにコピーする必要があります。 Web 同期を構成すると、Web 同期の構成ウィザードにより、ファイルが仮想ディレクトリにコピーされます。 IIS サーバーにインストールされた SQL Server コンポーネントをアップグレードする場合、replisapi.dll を COM ディレクトリから IIS サーバーの仮想ディレクトリへ手動でコピーする必要があります。 Web 同期の構成の詳細については、「Web 同期の構成」を参照してください。

以前のバージョンからレプリケートされたデータベースの復元

以前のバージョンからレプリケートされたデータベースのバックアップを復元するときにレプリケーション設定が保持されるようにするには、バックアップが作成されたサーバーおよびデータベースと同じ名前のサーバーおよびデータベースに復元します。

関連項目

参照

サポートされているバージョンとエディションのアップグレード

概念

レプリケーションの旧バージョンとの互換性

新機能 (レプリケーション)

SQL Server 2012 へのアップグレード

その他の技術情報

管理 (レプリケーション)