SQL Server 2005 复制中不推荐使用的功能

更新日期: 2006 年 4 月 14 日

本主题介绍在将来的版本中将被删除的复制功能。这些功能在 Microsoft SQL Server 2005 中可用,但建议尽可能使用其他功能。

ms143550.note(zh-cn,SQL.90).gif注意:
在“安装帮助”文档和 SQL Server 2005 联机丛书中可以查看此主题。对于“安装帮助”文档中显示为粗体文本的主题链接来说,所指向的主题仅在联机丛书中提供。

影响所有复制类型的不推荐使用的功能

在 SQL Server 2005 中不推荐使用以下功能(这些功能应用于所有复制类型)。

功能 说明

可附加订阅

此功能可在部署大量请求订阅(这在合并复制中很常见)时使用。在 SQL Server 2005 中,建议使用以下方法而不是可附加订阅:

在上述两种情况下,您可以通过编写脚本来自动创建大量的订阅:创建一个订阅;将其编写为脚本;对每个订阅服务器修改该脚本;然后在每个订阅服务器上应用该脚本以创建订阅。有关详细信息,请参阅编写复制脚本

有关可附加订阅的详细信息,请参阅可附加的订阅

订阅服务器注册

不推荐使用存储过程 sp_addsubscriber (Transact-SQL)。不再要求在发布服务器上显式注册订阅服务器。

SQL 分布式管理对象 (SQL-DMO)

现有代码将继续起作用,但 SQL-DMO 不支持 SQL Server 2005 中的新功能。请改用复制管理对象 (RMO)。有关详细信息,请参阅Programming with Replication Management Objects

使用 sp_repladdcolumnsp_repldropcolumn 的架构更改

不推荐使用存储过程 sp_repladdcolumn (Transact-SQL)sp_repldropcolumn (Transact-SQL)。请改用架构更改复制。有关详细信息,请参阅对发布数据库进行架构更改

存储过程不能用于添加或删除数据类型为 SQL Server 2005 中所引入的数据类型的列:XML、varchar(max)、nvarchar(max)、varbinary(max) 或用户定义类型 (UDT)。

校验和验证

校验和验证应仅用于运行 Microsoft SQL Server 7.0 版的订阅服务器。对于运行较新版本的 SQL Server 订阅服务器,使用二进制校验和验证。也可以对所有 SQL Server 订阅服务器(包括版本 7.0 的订阅服务器以及从 Oracle 发布服务器订阅发布的订阅服务器)使用行计数验证。有关详细信息,请参阅验证已复制的数据

添加发布到 Active Directory

不推荐使用 sp_addpublication (Transact-SQL)sp_addmergepublication (Transact-SQL)@add_to_active_directory 参数向 Active Directory 中添加发布。已不再允许通过在 Active Directory 中查找发布来订阅发布。

-UseInprocLoader 参数

不推荐使用分发代理和合并代理的这一参数,因为它与 XML 数据类型不兼容。如果不复制 XML 数据,则可以使用此参数。有关详细信息,请参阅Replication Distribution AgentReplication Merge Agent

不推荐使用的事务复制功能

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 Data Transformation Services (DTS)。有关详细信息,请参阅 SQL Server 2005 Integration Services 的向后兼容性。有关可转换订阅的详细信息,请参阅转换已发布数据

包含快照发布的可更新订阅

仍支持包含事务发布的可更新订阅。有关详细信息,请参阅事务复制的可更新订阅

分发 ActiveX 控件

此控件使您可以在应用程序中嵌入分发代理。改用 RMO。有关详细信息,请参阅Synchronizing Subscriptions (RMO Programming)

复制分发服务器接口

在 SQL Server 2000 中,复制分发服务器接口提供在分发服务器上的分发数据库中存储复制事务的接口。可用此接口启用从非 SQL Server 数据库发布(需要增加自定义编程以跟踪发布服务器上的更改)。不推荐使用此功能支持,但现有代码在从 SQL Server 2000 升级的服务器上仍可以使用。有关详细信息,请参阅 SQL Server 2000 联机丛书中的“复制分发服务器接口引用”。

SQL Server 2005 支持从 Oracle 数据库发布,无须自定义编程。有关详细信息,请参阅 Oracle 发布概述

不推荐使用的合并复制功能

SQL Server 2005 不推荐使用以下合并复制功能。

功能 说明

可选同步伙伴

备用同步伙伴功能使您可以指定订阅服务器可与之同步的备用发布服务器。有关详细信息,请参阅备用同步伙伴

在 SQL Server 2005 中,建议将合并复制与数据库镜像一起使用,而不是与备用同步伙伴一起使用。有关详细信息,请参阅复制和数据库镜像

合并 ActiveX 控件

此控件使您可以在应用程序中嵌入合并代理。改用 RMO。有关详细信息,请参阅Synchronizing Subscriptions (RMO Programming)

多列 UPDATE 选项

当合并复制执行更新时,它会更新一个 UPDATE 语句中所有更改的列,并将未更改的列重置为其原始值。另外,它还可以发出多条 UPDATE 语句,每个已更改的列一条。多列 UPDATE 语句的效率通常更高。

在早期版本的 SQL Server 中,建议为 fast_multicol_updateproc 项目选项指定 false 值以处理多列更新(一条 UPDATE 语句)可能效率较低的情况:

  • 大部分更新涉及少量的列。
  • 未更改列的索引维护量很大,因为这些列在更新发生时被重置。

由于 SQL Server 中的性能改进,这些情况不再需要此选项。

请参阅

概念

复制的向后兼容性

其他资源

复制增强

帮助和信息

获取 SQL Server 2005 帮助