Deprecated Features in SQL Server Replication

Note

For SQL Server 2008 R2, there have been no changes to the content that is listed in this topic.

This topic describes the deprecated Replication features that are still available in SQL Server 2008. These features are scheduled to be removed in a future release of SQL Server. Deprecated features should not be used in new applications.

Deprecated Features That Affect All Types of Replication

The following features, which apply to all types of replication, are deprecated in SQL Server 2005 or SQL Server 2008.

Feature

Description

Attachable subscriptions

This feature can be used when deploying a large number of pull subscriptions, which is common in merge replication. We recommend that you use the following approaches rather than attachable subscriptions:

In both cases, you can automate the creation of a large number of subscriptions with scripting: create a single subscription; script it; modify the script for each Subscriber; and apply the script at each Subscriber to create a subscription. For more information, see Scripting Replication.

Subscriber registration

The sp_addsubscriber stored procedure is deprecated. It is no longer required to explicitly register a Subscriber at the Publisher.

SQL Distributed Management Objects (SQL-DMO)

Existing code will continue to work, but SQL-DMO does not support new features in SQL Server 2005 and SQL Server 2008. Use Replication Management Objects (RMO) instead. For more information, see Replication Management Objects Concepts.

Schema changes using sp_repladdcolumn and sp_repldropcolumn

The stored procedures sp_repladdcolumn and sp_repldropcolumn have been deprecated. Use schema change replication instead. For more information, see Making Schema Changes on Publication Databases.

The stored procedures cannot be used for adding or dropping columns with data types introduced in SQL Server 2005 and later versions: xml, varchar(max), nvarchar(max), varbinary(max), or user-defined types (UDT), datetime2, time, datetimeoffset, hierarchyid, geometry, and geography types.

Checksum validation

Checksum validation should not be used. Use binary checksum validation. You can also use row count validation for all SQL Server Subscribers, including those subscribing to publications from Oracle Publishers. For more information, see Validating Replicated Data.

Adding publications to Active Directory

Adding a publication to Active Directory using the @add_to_active_directory parameter of sp_addpublication or sp_addmergepublication, has been deprecated. Subscribing to a publication by locating it in Active Directory has been discontinued.

-UseInprocLoader parameter

This parameter of the Distribution Agent and Merge Agent is deprecated because it is not compatible with the XML data type. If you are not replicating XML data, this parameter can be used. For more information, see Replication Distribution Agent and Replication Merge Agent.

PublisherAddress, PublisherNetwork, DistributorNetwork, and DistributorAddress parameters in Distribution and Merge Agents¹

These parameters are used to specify the IP address when connecting to the publisher or distributor. Because the replication subsystem uses server names to verify the connection, we recommend that you use alias at the client protocols to map the IP address to server name and use the server name in the agents.

¹  Deprecated in SQL Server 2008.

Deprecated Features of Transactional Replication

The following transactional replication features were deprecated in SQL Server 2005 or SQL Server 2008.

Feature

Description

Subscription expiration for transactional publications

The @retention property of sp_addpublication has been deprecated. Subscriptions are still marked as inactive and must be reinitialized if they have not synchronized within the maximum distribution retention period (the @max_distretention property of sp_adddistributiondb. For more information about retention periods, see Subscription Expiration and Deactivation.

"No sync" subscriptions to transactional publications

A subscription is a "no sync" subscription if a value of none is specified for the @sync_type parameter of sp_addsubscription or sp_addpullsubscription. If you want to specify that the necessary schema and data are already present in the subscription database, specify a value of replication support only for the parameter instead. For more information, see Initializing a Transactional Subscription Without a Snapshot.

ODBC Subscribers

Use OLE-DB for non-SQL Server Subscribers instead. For information about supported Subscribers, see Non-SQL Server Subscribers.

Transformable subscriptions

This feature is available through the stored procedure interface, but support for this feature in the user interface has been dropped. Using the feature requires installation of SQL Server 2000 Data Transformation Services (DTS). For more information, see Integration Services Backward Compatibility.

Updatable subscriptions including immediate updating and queued updating with snapshot and transactional publications ¹

We recommend that you use peer-to-peer transactional replication instead. For more information, see Peer-to-Peer Transactional Replication.

Distribution ActiveX control

This control allows you to embed the Distribution Agent in applications. Use RMO instead. For more information, see How to: Synchronize a Pull Subscription (RMO Programming) and How to: Synchronize a Push Subscription (RMO Programming).

Replication Distributor Interface

In SQL Server 2000, the Replication Distributor Interface provided an interface to store replicated transactions in the distribution database on the Distributor. This interface could be used to enable publishing from a non-SQL Server database (additional custom programming was required to track changes on the Publisher). Support for this feature has been deprecated, but existing code will continue to work on a server upgraded from SQL Server 2000. For more information, see "Replication Distributor Interface Reference" in SQL Server 2000 Books Online.

SQL Server 2005 and SQL Server 2008 support publishing from Oracle databases without custom programming. For more information, see Oracle Publishing Overview.

Replicating to Oracle 8 subscribers and from Oracle 8 publishers¹

For information about supported versions of Oracle, see Oracle Publishing Overview and Oracle Subscribers.

¹  Deprecated in SQL Server 2008.

Deprecated Features of Merge Replication

The following merge replication features were deprecated in SQL Server 2005 or SQL Server 2008.

Feature

Description

Alternate synchronization partners

The alternate synchronization partners feature allows you to specify an alternate Publisher with which a Subscriber can synchronize.

In SQL Server 2005 and SQL Server 2008, we recommend that you use merge replication in conjunction with database mirroring, rather than alternate synchronization partners. For more information, see Replication and Database Mirroring.

"No sync" subscriptions to merge publications1

A subscription is a "no sync" subscription if a value of none is specified for the @sync_type parameter of sp_addmergesubscription or sp_addmergepullsubscription. This type of subscription is not recommended for merge replication.

Merge ActiveX control

This control allows you to embed the Merge Agent in applications. Use RMO instead. For more information, see How to: Synchronize a Pull Subscription (RMO Programming) or How to: Synchronize a Push Subscription (RMO Programming).

Multicolumn UPDATE option

When merge replication performs an update, it updates all changed columns in one UPDATE statement and resets unchanged columns to their original values. Alternatively, it can issue multiple UPDATE statements, with one UPDATE statement for each column that has changed. The multicolumn UPDATE statement is typically more efficient.

In versions of SQL Server prior to SQL Server 2005, we recommend that you specify a value of false for the @fast_multicol_updateproc article option to address cases in which a multicolumn update (one UPDATE statement) might be less efficient:

  • Most updates involve a small number of columns.

  • Index maintenance on unchanged columns is high because those columns are reset when updates occur.

Due to performance improvements in SQL Server, this option is no longer required for these cases.

-ParallelUploadDownload parameter¹

This parameter of the Merge Agent is used to perform simultaneous upload and download of changes in a merge replication session. This parameter provides a performance gain, but it is outweighed by the amount of metadata that must be transferred over the network.

@allow_partition_realignment property in sp_addmergepublication¹

This parameter is used to control the delete operations that must be sent to Subscribers if a row moves out of the Subscriber's partition.

-ExchangeType parameter¹

This parameter is used to control whether the Merge Agent goes through the upload phase or the download phase or both. This defaults to 3 to perform both upload and download. We do not recommend upload-only because it would not replicate schema changes or initialization processes. Download-only functionality can be achieved by using @subscriber_upload_options for an article. For more information, see sp_addmergearticle (Transact-SQL).

@delete_tracking property in sp_addmergearticle¹

This property is used to stop tracking deletes when deletes should be sent down to the Publisher or Subscriber. This can be implemented by using the DeleteHandler in the BusinessLogicModule. For more information, see Executing Business Logic During Merge Synchronization.

Logical Records¹

This feature is used to send a set of related rows in a single transaction. In most cases, this feature adds significant performance overhead to replication when it is used. For more information, see Grouping Changes to Related Rows with Logical Records.

¹  Deprecated in SQL Server 2008.