レプリケートされたデータベースのアップグレード
更新 : 2006 年 7 月 17 日
SQL Server 2005 では、レプリケートされたデータベースを以前のバージョンの SQL Server からアップグレードすることができます。ノードのアップグレード中は、その他のノードでの操作を停止する必要はありません。トポロジでサポートされるバージョンに関して、以下の規則が守られていることを確認してください。
- SQL Server 2005 のレプリケーション トポロジに追加できるのは、SQL Server Version 7.0 Service Pack 4 (SP4) 以降です。SQL Server 2000 を使用する場合は、Service Pack (SP3) 以降が必要です。
- ディストリビュータは、パブリッシャのバージョン以上であればどのバージョンでも使用できます (多くの場合、ディストリビュータはパブリッシャと同じインスタンスです)。
- パブリッシャは、ディストリビュータのバージョン以下であればどのバージョンでも使用できます。
- サブスクライバのバージョンは、次のように、パブリケーションの種類によって異なります。
- トランザクション パブリケーションの読み取り専用サブスクライバは、2 つのパブリッシャ バージョンのうちどちらでも使用できます。たとえば、実行されている SQL Server Version 7.0 のパブリッシャは SQL Server 2005 サブスクライバを持つことができ、SQL Server 2005 パブリッシャは SQL Server Version 7.0 サブスクライバを持つことができます。
- SQL Server 2005 トランザクション パブリケーションの更新可能なサブスクライバは、SQL Server 2000 SP3 以上であればどのバージョンでも使用できます。
- マージ パブリケーションのサブスクライバは、パブリッシャのバージョン以下であればどのバージョンでも使用できます。
メモ : |
---|
このトピックは、セットアップ ヘルプ ドキュメントおよび SQL Server 2005 Books Online で参照できます。セットアップ ヘルプ ドキュメントで太字で表示されているトピック リンクは、Books Online でのみ参照可能なトピックを示しています。 |
Standard Edition、Workgroup Edition、または Express Edition へのアップグレード
SQL Server 2005 のいずれかのエディションから別のエディションへアップグレードする前に、現在使用している機能がアップグレード先のエディションでサポートされているかどうかを確認します。詳細については、「SQL Server 2005 の各エディションがサポートする機能」の「SQL Server 2005 のレプリケーション機能」を参照してください。
新しいレプリケーション エージェントのセキュリティ モデル
以前のバージョンの SQL Server では、各エージェントは既定で SQL Server エージェント サービス アカウントのコンテキストの下で実行されました。SQL Server 2005 では、各アカウントに対して細かい単位での制御が可能になりました。この各アカウントの下でレプリケーション エージェントが実行され、データベースや他のリソースへの Windows 統合接続が作成されます。エージェントごとに異なるアカウントを指定できます。詳細については、「レプリケーションのセキュリティに関する注意点」および「レプリケーション エージェントのセキュリティ モデル」を参照してください。
トポロジ内で複数のバージョンをアップグレードおよび実行する場合、新しいセキュリティ モデルは次のように影響します。
- SQL Server 2000 または SQL Server 7.0 で作成されたレプリケーション スクリプトは、セキュリティの機能拡張を活用するために SQL Server 2005 へアップグレードする必要があります。詳細については、「レプリケーション スクリプトをアップグレードする方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。
- 以前のバージョンの SQL Server から SQL Server 2005 へとアップグレードしたディストリビュータまたはサブスクライバは、引き続き SQL Server エージェント アカウントの下で実行されるため、必要以上に多くの特権が設定されている可能性があります。アップグレード後は、必要最小限の特権を持つ個別のアカウントをエージェントに対して指定することをお勧めします。個別のアカウントを指定するには
- パブリケーションおよびサブスクリプションをスクリプト化します。
- スクリプトの変更を行います。詳細については、「レプリケーション スクリプトをアップグレードする方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。
- パブリケーションおよびサブスクリプションを削除します。詳細については、「データとデータベース オブジェクトのパブリッシュ」および「パブリケーションのサブスクライブ」を参照してください。
- 変更されたスクリプトを使用してパブリケーションおよびサブスクリプションを再作成します。
エージェントで必要とされる特権については、「レプリケーション エージェントのセキュリティ モデル」を参照してください。ログインおよびパスワードの管理については、「レプリケーションのログインとパスワードの管理」を参照してください。アップグレード後に作成された新しいレプリケーション構成では、レプリケーション エージェントごとに特定のアカウント構成を行う必要があります。
メモ : ローカル データベース接続で SQL Server 認証を使用するよう構成されているエージェントは、すべて Windows 認証を使用するよう変更されます。ローカル接続は、エージェントと同じコンピュータ上で実行されている SQL Server のインスタンスへの接続であり、エージェントによって行われます。たとえば、マージ エージェントは、プル サブスクリプションの場合はサブスクライバで動作します。したがって、マージ エージェントがサブスクライバに対して行う接続はローカル接続です。 - 以前のバージョンの SQL Server を実行しているレプリケーション トポロジに参加する場合、前のレプリケーション セキュリティ モデルはそのまま保持されます。次に例を示します。
- SQL Server 2000 または SQL Server Version 7.0 を実行しているサブスクライバへのプル サブスクリプションでは、マージ エージェントまたはディストリビューションがそのサブスクライバで作成されるため、新しいセキュリティ モデルを使用しません。
- SQL Server 2005 を実行しているディストリビュータから、SQL Server 2000 または SQL Server Version 7.0 を実行しているサブスクライバへのプッシュ サブスクリプションでは、マージ エージェントまたはディストリビューションがそのディストリビュータで作成されるため、新しいセキュリティ モデルを使用します。
- SQL Server 2000 または SQL Server Version 7.0 を実行しているパブリッシャと、SQL Server 2005 を実行しているディストリビュータの組み合わせは、エージェントがパブリケーション データベースのコンテキストで作成されるため、新しいセキュリティ モデル (スナップショット エージェント、ログ リーダー エージェント、キュー リーダー エージェント用) を使用しません。
マージ レプリケーションに対するアップグレード後のエージェントの実行
アップグレード後は、マージ パブリケーションごとにスナップショット エージェントを実行し、サブスクリプションごとにマージ エージェントを実行して、レプリケーション メタデータを更新します。サブスクリプションを再初期化する必要がないので、新しいスナップショットを適用する必要はありません。サブスクリプション メタデータは、アップグレード後に最初にマージ エージェントを実行したときに更新されます。つまり、パブリッシャのアップグレード中、サブスクリプション データベースをオンラインのままアクティブにしておくことができます。
マージ レプリケーションでは、パブリケーション データベースおよびサブスクリプション データベース内の多数のシステム テーブルに、パブリケーション メタデータおよびサブスクリプション メタデータが格納されます。スナップショット エージェントを実行すると、パブリケーション メタデータが更新され、マージ エージェントを実行すると、サブスクリプション メタデータが更新されます。生成が必要なのはパブリケーション スナップショットのみです。パラメータ化されたフィルタがマージ パブリケーションで使用される場合は、各パーティションにもスナップショットが必要です。これらのパーティション スナップショットを更新する必要はありません (SQL Server 2000 では、パラメータ化されたフィルタは動的フィルタと呼ばれ、パーティション スナップショットは動的スナップショットと呼ばれていました)。
Microsoft SQL Server Management Studio、レプリケーション モニタ、またはコマンド ラインで各エージェントを実行します。スナップショット エージェントの実行の詳細については、次のトピックを参照してください。
- 初期スナップショットを作成および適用する方法 (SQL Server Management Studio)
- レプリケーション エージェントの起動および停止方法 (SQL Server Management Studio)
- 初期スナップショットを作成する方法 (レプリケーション Transact-SQL プログラミング)
- レプリケーション エージェント実行可能ファイルのプログラミング
マージ エージェントの実行の詳細については、次のトピックを参照してください。
- プル サブスクリプションの同期をとる方法 (SQL Server Management Studio)
- プッシュ サブスクリプションの同期をとる方法 (SQL Server Management Studio)
- プル サブスクリプションを同期する方法 (レプリケーション プログラミング)
- プッシュ サブスクリプションを同期する方法 (レプリケーション プログラミング)
マージ レプリケーションを使用するトポロジで SQL Server をアップグレードした後に、新しい機能を使用する場合は、すべてのパブリケーションのパブリケーション互換性レベルを変更します。詳細については、「レプリケーション トポロジにおける複数バージョンの SQL Server の使用」を参照してください。
マージ レプリケーションの Web 同期
マージ レプリケーションの Web 同期オプションでは、SQL Server レプリケーション リスナ (replisapi.dll) を、同期に使用するインターネット インフォメーション サービス (IIS) サーバーにコピーする必要があります。Web 同期を構成すると、Web 同期の構成ウィザードにより、ファイルが仮想ディレクトリにコピーされます。IIS サーバーにインストールされた SQL Server コンポーネントをアップグレードする場合、replisapi.dll を COM ディレクトリから IIS サーバーの仮想ディレクトリへ手動でコピーする必要があります。Web 同期の構成の詳細については、「Web 同期の構成」を参照してください。
以前のバージョンからレプリケートされたデータベースの復元
以前のバージョンからレプリケートされたデータベースのバックアップを復元するときにレプリケーション設定が保持されるようにするには、バックアップが作成されたサーバーおよびデータベースと同じ名前のサーバーおよびデータベースに復元します。
参照
概念
レプリケーションの旧バージョンとの互換性
レプリケーション トポロジにおける複数バージョンの SQL Server の使用
その他の技術情報
レプリケーションの管理
レプリケーションの機能強化
バージョンとエディションのアップグレード
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 7 月 17 日 |
|