SQL Server レプリケーションの非推奨機能
このトピックでは、SQL Server 2012 でまだ使用できるものの、非推奨となったレプリケーション機能について説明します。 これらの機能は SQL Server の今後のリリースで削除される予定です。 非推奨機能を新しいアプリケーションで使用しないでください。
SQL Server 2012 の非推奨の新機能
機能 |
説明 |
---|---|
RMO |
RMO API は推奨されません。 代わりに Transact-SQL を使用して新しいアプリケーションを構築してください。 |
異種レプリケーション |
SQL Server 以外のサブスクライバーへの異種レプリケーションは推奨されません。 データを移動するには、変更データ キャプチャと SSIS を使用してソリューションを作成します。 |
Oracle パブリッシング |
Oracle パブリッシングは推奨されません。 データを移動するには、変更データ キャプチャと SSIS を使用してソリューションを作成します。 |
以前のバージョンの非推奨機能
あらゆる種類のレプリケーションに影響する非推奨機能
次の機能は、SQL Server 2005 または SQL Server 2008 では非推奨となっています。これらの機能はあらゆる種類のレプリケーションに適用されます。
機能 |
説明 |
---|---|
アタッチ可能なサブスクリプション |
この機能は多数のプル サブスクリプションを配置する際に使用でき、マージ レプリケーションでは一般的です。 アタッチ可能なサブスクリプションの代わりに次の方法を使用することをお勧めします。
どちらの場合も、スクリプトで多数のサブスクリプションの作成を自動化できます。これには、サブスクリプションを 1 つ作成し、そのスクリプトを作成した後、サブスクライバーごとにスクリプトを修正して適用し、それぞれのサブスクリプションを作成します。 詳細については、「レプリケーションのスクリプト作成」を参照してください。 |
サブスクライバーの登録 |
sp_addsubscriber ストアド プロシージャは推奨されません。 パブリッシャーでサブスクライバーを明示的に登録する必要はありません。 |
SQL 分散管理オブジェクト (SQL-DMO) |
既存のコードは引き続き使用できますが、SQL-DMO は SQL Server 2005 および SQL Server 2008 の新機能をサポートしていません。 代わりにレプリケーション管理オブジェクト (RMO) を使用してください。 詳細については、「レプリケーション管理オブジェクトの概念」を参照してください。 |
sp_repladdcolumn および sp_repldropcolumn を使用したスキーマの変更 |
ストアド プロシージャ sp_repladdcolumn および sp_repldropcolumn は非推奨となっています。 代わりに、スキーマ変更レプリケーションを使用してください。 SQL Server 2005 以降のバージョンで採用されたデータ型 (xml、varchar(max)、nvarchar(max)、varbinary(max)、ユーザー定義型 (UDT)、datetime2、time、datetimeoffset、hierarchyid、geometry、geography) の列を追加または削除する処理には、ストアド プロシージャを使用できません。 |
チェックサム検証 |
チェックサム検証は使用できません。 バイナリ チェックサム検証を使用します。 また、行数検証は、Oracle パブリッシャーからパブリケーションにサブスクライブするサブスクライバーを含め、すべての SQL Server サブスクライバーに対して使用できます。 |
Active Directory へのパブリケーションの追加 |
sp_addpublication または sp_addmergepublication の @add_to_active_directory パラメーターを使用して Active Directory にパブリケーションを追加することは非推奨になりました。 Active Directory でパブリケーションを指定してサブスクライブする機能は廃止されました。 |
-UseInprocLoader パラメーター |
ディストリビューション エージェントおよびマージ エージェントにおけるこのパラメーターは、XML データ型と互換性がないため非推奨となっています。 XML データをレプリケートしない場合にのみ、このパラメーターを使用できます。 詳細については、「レプリケーション ディストリビューション エージェント」および「レプリケーション マージ エージェント」を参照してください。 |
ディストリビューション エージェントおよびマージ エージェントの PublisherAddress、PublisherNetwork、DistributorNetwork、および DistributorAddress パラメーター |
これらのパラメーターは、パブリッシャーまたはディストリビューターへの接続時に IP アドレスを指定するために使用します。 レプリケーション サブシステムではサーバー名を使用して接続が検証されるため、クライアント プロトコルで別名を使用して IP アドレスをサーバー名にマップし、そのサーバー名をエージェントで使用することをお勧めします。 |
¹ SQL Server 2008 では非推奨。
トランザクション レプリケーションの非推奨機能
SQL Server 2005 または SQL Server 2008 では、次のトランザクション レプリケーション機能が非推奨となっています。
機能 |
説明 |
---|---|
トランザクション パブリケーションに対するサブスクリプションの有効期限 |
sp_addpublication の @retention プロパティは非推奨になりました。 ディストリビューションの最長保有期間 (sp_adddistributiondb の @max_distretention プロパティ) 内に同期されていないサブスクリプションには、引き続き非アクティブのマークが付けられ、再初期化が必要となります。 |
トランザクション パブリケーションに対する "No sync" サブスクリプション |
sp_addsubscription または sp_addpullsubscription の @sync_type パラメーターに対して値 none が指定されている場合は、サブスクリプションが "no sync" サブスクリプションとなります。 必要なスキーマとデータが既にサブスクリプション データベース内にあることを指定する場合は、代わりにこのパラメーターに対して値 replication support only を指定してください。 |
ODBC サブスクライバー |
SQL Server 以外のサブスクライバーに対しては、代わりに OLE-DB を使用してください。 |
変換可能なサブスクリプション |
この機能はストアド プロシージャ インターフェイスから使用できますが、ユーザー インターフェイスでは、この機能のサポートは削除されています。 この機能を使用するには、SQL Server 2000 データ変換サービス (DTS) がインストールされている必要があります。 詳細については、「Integration Services の旧バージョンとの互換性」を参照してください。 |
ディストリビューション ActiveX コントロール |
このコントロールを使用すると、アプリケーションにディストリビューション エージェントを組み込むことができますが、 代わりに RMO を使用してください。 詳細については、「プル サブスクリプションの同期」および「プッシュ サブスクリプションの同期」を参照してください。 |
レプリケーション ディストリビューター インターフェイス |
SQL Server 2000 のレプリケーション ディストリビューター インターフェイスには、レプリケートされたトランザクションをディストリビューターのディストリビューション データベースに格納するためのインターフェイスが用意されていました。 このインターフェイスを使用すると、SQL Server 以外のデータベースからデータをパブリッシュできます (パブリッシャー上で変更内容を追跡するには、追加のカスタム プログラミングが必要です)。 この機能のサポートは非推奨となっていますが、SQL Server 2000 からアップグレードしたサーバー上では、既存のコードを引き続き使用できます。 詳細については、SQL Server 2000 オンライン ブックの「レプリケーション ディストリビューター インターフェイス リファレンス」を参照してください。 |
Oracle 8 サブスクライバーへのレプリケートと Oracle 8 パブリッシャーからのレプリケート¹ |
¹ SQL Server 2008 では非推奨。
マージ レプリケーションの非推奨機能
SQL Server 2005 または SQL Server 2008 では、次のマージ レプリケーション機能が非推奨となっています。
機能 |
説明 |
---|---|
代替同期パートナー |
代替同期パートナー機能を使用すると、サブスクライバーが同期できる代替パブリッシャーを指定できます。 SQL Server 2005 および SQL Server 2008 では、代替同期パートナーではなく、データベース ミラーリングと組み合わせてマージ レプリケーションを使用することをお勧めします。 詳細については、「データベース ミラーリングとレプリケーション (SQL Server)」を参照してください。 |
マージ パブリケーション1 に対する "No sync" サブスクリプション |
sp_addmergesubscription または sp_addmergepullsubscription の @sync_type パラメーターに対して値 none が指定されている場合は、サブスクリプションが "no sync" サブスクリプションとなります。 この種類のサブスクリプションはマージ レプリケーションにはお勧めできません。 |
マージ ActiveX コントロール |
このコントロールを使用すると、アプリケーションにマージ エージェントを組み込むことができますが、 代わりに RMO を使用してください。 |
複数列の UPDATE オプション |
マージ レプリケーションによって更新が実行されると、1 つの UPDATE ステートメントですべての列が更新され、変更のない列は元の値にリセットされます。 また、複数の UPDATE ステートメント (変更された列ごとに 1 つの UPDATE ステートメント) を発行することも可能です。 一般に、複数列の UPDATE ステートメントの方が効率的です。 SQL Server 2005 よりも前のバージョンの SQL Server では、1 つの UPDATE ステートメントで複数列の更新を行う場合に処理効率が低下する可能性があるため、@fast_multicol_updateproc アーティクル オプションの値を false に設定することをお勧めします。
SQL Server のパフォーマンスが向上したため、このような場合でもこのオプションを使用する必要はありません。 |
-ParallelUploadDownload パラメーター¹ |
マージ エージェントのこのパラメーターは、マージ レプリケーション セッションで変更のアップロードとダウンロードを同時に実行するために使用します。 このパラメーターを使用するとパフォーマンスは向上しますが、それ以上に、ネットワークで転送する必要があるメタデータの量が増加します。 |
sp_addmergepublication¹ の @allow_partition_realignment プロパティ |
このパラメーターは、行がサブスクライバーのパーティションから移動された場合にサブスクライバーに送信される必要がある削除操作の制御に使用します。 |
-ExchangeType パラメーター¹ |
このパラメーターは、マージ エージェントの処理をアップロード フェーズにするか、ダウンロード フェーズにするか、それとも両方のフェーズにするかの制御に使用します。 既定値は 3 で、アップロードおよびダウンロードの両方が実行されます。 アップロードのみの場合はスキーマ変更や初期化プロセスがレプリケートされないため、アップロードのみは実行しないことをお勧めします。 ダウンロードのみの機能は、アーティクルの @subscriber_upload_options を使用して実現できます。 詳細については、「sp_addmergearticle (Transact-SQL)」を参照してください。 |
sp_addmergearticle¹ の @delete_tracking プロパティ |
このプロパティは、削除がパブリッシャーまたはサブスクライバーに送信される際の削除の追跡を停止するために使用します。 これは、BusinessLogicModule の DeleteHandler を使用して実装できます。 |
論理レコード¹ |
この機能は、関連する行のセットを 1 つのトランザクションで送信するために使用します。 ほとんどの場合、この機能を使用するとレプリケーションのパフォーマンスのオーバーヘッドが大幅に増加します。 |
¹ SQL Server 2008 では非推奨。