更新订阅的安全注意事项

除了要注意订阅的常规注意事项外,还要注意许多更新订阅的注意事项。

立即更新订阅

当配置立即更新订阅时,需要在与发布服务器建立连接的订阅服务器上指定一个帐户。连接由在订阅服务器上激发的触发器使用,这些触发器可以将更改传播到发布服务器。有三种连接类型可以选择:

  • 复制创建的链接服务器;此连接是用配置时所指定的凭据建立的。

  • 复制创建的链接服务器;此连接是用订阅服务器上进行更改的用户的凭据建立的。

  • 已定义的链接服务器或远程服务器。

重要说明重要提示

若要指定连接信息,请使用存储过程 sp_link_publication (Transact-SQL)。还可以使用新订阅向导的“用于可更新订阅的登录名”页,该页可调用 sp_link_publication。在某些情况下,如果订阅服务器运行的是 SQL Server 2005 Service Pack 1 (SP1) 或更高版本,而发布服务器运行的是早期版本,则该存储过程可能会失败。如果在这种情形下存储过程失败,则请将该发布服务器升级到 SQL Server 2005 SP1 或更高版本。

有关详细信息,请参阅:

重要说明重要提示

应该只将插入、更新和删除视图(复制在发布数据库中创建的)中数据的权限授予为连接指定的用户;不应该再授予任何其他权限。将发布数据库上的视图的权限(名称格式为 syncobj_<HexadecimalNumber>)授予在每个订阅服务器上配置的帐户。

排队更新订阅

当配置排队更新订阅时,请谨记以下两个与安全性相关的方面:

  • 每个分发服务器只有一个队列读取器代理。建议最多为每个分发服务器配置一个为排队更新订阅而启用的发布。

  • 队列读取器代理建立与分发服务器、发布服务器和每个订阅服务器的连接:

    • 运行代理并与分发服务器建立连接的账户将在创建代理时指定(如果使用新建发布向导,则代理将在创建为更新订阅而启用的发布时创建)。

    • 代理与发布服务器建立连接的帐户将在配置发布服务器的分发时指定。指定运行代理的 Windows 帐户,或 SQL Server 帐户。

    • 代理与订阅服务器建立连接的帐户将在创建订阅时指定。

    重要说明重要提示

    使用 SQL Server 身份验证连接到订阅服务器,并指定一个不同帐户连接到每个订阅服务器。如果使用请求订阅,复制始终将连接设置为使用 Windows 身份验证(对于请求订阅,复制无法访问需要使用 SQL Server 身份验证的订阅服务器上的元数据)。这种情况下,请在配置订阅后对连接进行更改,以使用 SQL Server 身份验证。

    有关详细信息,请参阅: