如何指定合并表项目仅用于下载(复制 Transact-SQL 编程)

仅用于下载项目是为具有不在订阅服务器上更新的数据的应用程序设计的。 有关详细信息,请参阅使用仅下载项目优化合并复制的性能

指定新合并表项目仅用于下载

  • 执行 sp_addmergearticle,为参数 @subscriber_upload_options 指定值 12。 这些数字分别与以下行为相对应:

    • 0 - 无限制(默认值)。 将订阅服务器上所做的更改上载到发布服务器。

    • 1 - 允许在订阅服务器上进行更改,但不会将它们上载到发布服务器。

    • 2 - 不允许在订阅服务器上进行更改。

      注意注意

      如果某个项目的源表已经在另一个发布中发布,则两个项目的 @subscriber_upload_options 值必须相同。

      注意注意

      如果在初始化订阅之后将项目类型更改为仅用于下载,则必须重新初始化用于接收项目的所有客户端订阅。

修改现有合并表项目以使其仅用于下载

  1. 若要确定项目是否仅用于下载,请执行 sp_helpmergearticle。 记下结果集中该项目的 upload_options 值。

  2. 如果在步骤 1 中返回的值为 0,则执行 sp_changemergearticle,为 @property 指定值 subscriber_upload_options,为 @force_invalidate_snapshot@force_reinit_subscription 指定值 1 并为 @value 指定值 12,这里的数字分别对应于以下行为:

    • 1 - 允许在订阅服务器上进行更改,但不会将它们上载到发布服务器。

    • 2 - 不允许在订阅服务器上进行更改。

      注意注意

      如果某个项目的源表已经在另一个发布中发布,则两个项目的仅用于下载行为必须相同。