SQL Server 2005 レプリケーションの非推奨機能

更新 : 2006 年 4 月 14 日

このトピックでは、今後のリリースで削除される予定のレプリケーション機能について説明します。これらの機能は Microsoft SQL Server 2005 では使用できますが、できるだけ代替機能を使用することをお勧めします。

ms143550.note(ja-jp,SQL.90).gifメモ :
このトピックは、セットアップ ヘルプ ドキュメントおよび SQL Server 2005 Books Online で参照できます。セットアップ ヘルプ ドキュメントで太字で表示されているトピック リンクは、Books Online でのみ参照可能なトピックを示しています。

あらゆる種類のレプリケーションに影響する非推奨機能

次の機能は、SQL Server 2005 では非推奨となっています。これらの機能はあらゆる種類のレプリケーションに適用されます。

機能 説明

アタッチ可能なサブスクリプション

この機能は多数のプル サブスクリプションを配置する際に使用でき、マージ レプリケーションでは一般的です。SQL Server 2005 では、アタッチ可能なサブスクリプションの代わりに次の方法を使用することをお勧めします。

どちらの場合も、スクリプトで多数のサブスクリプションの作成を自動化できます。これには、サブスクリプションを 1 つ作成し、そのスクリプトを作成した後、サブスクライバごとにスクリプトを修正して適用し、それぞれのサブスクリプションを作成します。詳細については、「レプリケーションのスクリプト作成」を参照してください。

アタッチ可能なサブスクリプションの詳細については、「アタッチ可能なサブスクリプション」を参照してください。

サブスクライバの登録

ストアド プロシージャ sp_addsubscriber (Transact-SQL) は非推奨となっています。パブリッシャでサブスクライバを明示的に登録する必要はありません。

SQL 分散管理オブジェクト (SQL-DMO)

既存のコードは引き続き使用できますが、SQL-DMO は SQL Server 2005 の新機能をサポートしていません。代わりにレプリケーション管理オブジェクト (RMO) を使用してください。詳細については、「レプリケーション管理オブジェクトを使用したプログラミング」を参照してください。

sp_repladdcolumn および sp_repldropcolumn を使用したスキーマ変更

ストアド プロシージャ sp_repladdcolumn (Transact-SQL) および sp_repldropcolumn (Transact-SQL) は非推奨となっています。代わりに、スキーマ変更レプリケーションを使用してください。詳細については、「パブリケーション データベースでのスキーマの変更」を参照してください。

SQL Server 2005 で採用されたデータ型 (XML、varchar(max)、nvarchar(max)、varbinary(max)、ユーザー定義型 (UDT)) の列を追加または削除する場合は、ストアド プロシージャを使用できません。

チェックサム検証

チェックサム検証は、Microsoft SQL Server Version 7.0 を実行しているサブスクライバにのみ使用してください。これより新しいバージョンを実行している SQL Server サブスクライバに対しては、バイナリ チェックサム検証を使用してください。また、行数検証は、Version 7.0 や Oracle パブリッシャからパブリケーションにサブスクライブするサブスクライバを含め、すべての SQL Server サブスクライバに対して使用できます。詳細については、「レプリケートされたデータの検証」を参照してください。

Active Directory へのパブリケーションの追加

sp_addpublication (Transact-SQL) または sp_addmergepublication (Transact-SQL)@add_to_active_directory パラメータを使用して Active Directory にパブリケーションを追加することは非推奨となっています。パブリケーションを Active Directory 内に置くことでパブリケーションにサブスクライブすることは非推奨となっています。

-UseInprocLoader パラメータ

ディストリビューション エージェントおよびマージ エージェントにおけるこのパラメータは、XML データ型と互換性がないため非推奨となっています。XML データをレプリケートしない場合は、このパラメータを使用できます。詳細については、「レプリケーション ディストリビューション エージェント」および「レプリケーション マージ エージェント」を参照してください。

トランザクション レプリケーションの非推奨機能

SQL Server 2005 では、次のトランザクション レプリケーション機能が非推奨となっています。

機能 説明

トランザクション パブリケーションに対するサブスクリプションの有効期限

sp_addpublication (Transact-SQL)@retention プロパティは非推奨となっています。ディストリビューションの最長保有期間 (sp_adddistributiondb (Transact-SQL)@max_distretention プロパティ) 内に同期しないサブスクリプションには、引き続き非アクティブのマークが付けられ、再初期化が必要となります。保有期間の詳細については、「サブスクリプションの有効期限と非アクティブ化」を参照してください。

トランザクション パブリケーションに対する "No sync" サブスクリプション

sp_addsubscription (Transact-SQL) パラメータの @sync_type パラメータに対して none の値が指定されている場合は、サブスクリプションが "no sync" サブスクリプションとなります。必要なスキーマとデータが既にサブスクリプション データベース内にあることを指定する場合は、代わりにこのパラメータに対して replication support only の値を指定してください。詳細については、「スナップショットを使用しないトランザクション サブスクリプションの初期化」を参照してください。

ODBC サブスクライバ

SQL Server 以外のサブスクライバに対しては、代わりに OLE-DB を使用してください。サポートされるサブスクライバについては、「SQL Server 以外のサブスクライバ」を参照してください。

変換可能なサブスクリプション

この機能はストアド プロシージャ インターフェイスから使用できますが、ユーザー インターフェイスでは、この機能のサポートは削除されています。この機能を使用するには、Microsoft SQL Server 2000 データ変換サービス (DTS) をインストールする必要があります。詳細については、「SQL Server 2005 Integration Services の旧バージョンとの互換性」を参照してください。変換可能なサブスクリプションの詳細については、「パブリッシュされたデータの変換」を参照してください。

スナップショット パブリケーションを使用した更新可能なサブスクリプション

更新可能なサブスクリプションとトランザクション パブリケーションの併用は、引き続きサポートされています。詳細については、「トランザクション レプリケーションの更新可能なサブスクリプション」を参照してください。

ディストリビューション ActiveX コントロール

このコントロールを使用すると、アプリケーションにディストリビューション エージェントを組み込むことができますが、代わりに RMO を使用してください。詳細については、「サブスクリプションの同期 (RMO プログラミング)」を参照してください。

レプリケーション ディストリビュータ インターフェイス

SQL Server 2000 のレプリケーション ディストリビュータ インターフェイスには、レプリケートされたトランザクションをディストリビュータのディストリビューション データベースに格納するためのインターフェイスが用意されていました。このインターフェイスを使用すると、SQL Server 以外のデータベースからデータをパブリッシュできます (パブリッシャ上で変更内容を追跡するには、追加のカスタム プログラミングが必要です)。この機能のサポートは非推奨となっていますが、SQL Server 2000 からアップグレードしたサーバー上では、既存のコードを引き続き使用できます。詳細については、SQL Server 2000 Books Online の「レプリケーション ディストリビュータ インターフェイス リファレンス」を参照してください。

SQL Server 2005 では、カスタム プログラミングを行わなくても、Oracle データベースからパブリッシュすることができます。詳細については、「Oracle パブリッシングの概要」を参照してください。

マージ レプリケーションの非推奨機能

SQL Server 2005 では、次のマージ レプリケーション機能が非推奨となっています。

機能 説明

代替同期パートナー

代替同期パートナー機能を使用すると、サブスクライバが同期できる代替パブリッシャを指定できます。詳細については、「代替同期パートナー」を参照してください。

SQL Server 2005 では、代替同期パートナーではなく、データベースのミラー化と共にマージ レプリケーションを使用することをお勧めします。詳細については、「レプリケーションおよびデータベース ミラーリング」を参照してください。

マージ ActiveX コントロール

このコントロールを使用すると、アプリケーションにマージ エージェントを組み込むことができますが、代わりに RMO を使用してください。詳細については、「サブスクリプションの同期 (RMO プログラミング)」を参照してください。

複数列の UPDATE オプション

マージ レプリケーションで更新を実行すると、1 つの UPDATE ステートメントにあるすべての変更済み列が更新され、未変更列は元の値にリセットされます。また、複数の UPDATE ステートメント (変更された列ごとに 1 つの UPDATE ステートメント) を発行することも可能です。一般に、複数列の UPDATE ステートメントの方が効率的です。

以前のバージョンの SQL Server では、複数列の更新 (1 つの UPDATE ステートメント) 時に処理効率が低下する可能性があるため、fast_multicol_updateproc アーティクル オプションの値を false に設定するよう推奨されていました。

  • ほとんどの場合、更新にかかわる列の数は少数です。
  • 更新が発生すると未変更列がリセットされるため、未変更列に対するインデックスのメンテナンスが多くなります。

SQL Server のパフォーマンスが向上したため、このような場合でもこのオプションを使用する必要はありません。

参照

概念

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

その他の技術情報

レプリケーションの機能強化

ヘルプおよび情報

SQL Server 2005 の参考資料の入手