保护订阅服务器的安全

合并代理和分发代理连接到订阅服务器。 这些连接可在 SQL Server 登录或 Windows 登录上下文环境中建立。 在遵循授予必要的最小权限并且保护所有密码的存储的原则下,为这些代理提供合适的登录名十分重要。 有关每个代理所需权限的信息,请参阅复制代理安全性模式

分发代理

可以是每个订阅一个分发代理(独立代理,对于新建发布向导中创建的发布是默认设置),也可以是每个发布数据库和订阅数据库对一个分发代理(共享代理)。 T

若要为推送订阅指定连接信息,请参阅创建推送订阅

若要为请求订阅指定连接信息,请参阅创建请求订阅

合并代理

每个合并订阅都有自己的合并代理,此合并代理同时连接发布服务器和订阅服务器并对它们进行更新。

若要为推送订阅指定连接信息,请参阅创建推送订阅

若要为请求订阅指定连接信息,请参阅创建请求订阅

立即更新订阅

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

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

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

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

重要说明重要提示

若要指定连接信息,请使用存储过程 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 身份验证。

    有关详细信息,请参阅“如何创建事务发布的更新订阅 (SQL Server Management Studio)”和查看和修改复制安全设置

请参阅

概念

启用数据库引擎的加密连接(SQL Server 配置管理器)

复制安全最佳实践

其他资源

安全性和保护(复制)