确保发布者安全

以下复制代理连接到发布服务器:

  • 日志读取代理

  • 快照代理

  • 队列读取器代理

  • 合并代理

建议为这些代理提供适当的登录名,遵循授予所需最低权限的原则,并保护所有密码的存储。 有关每个代理所需的权限的信息,请参阅 复制代理安全模型

除了适当地管理登录名和密码外,还应了解发布访问列表(PAL)的角色。 PAL 用于允许登录访问发布数据,同时限制发布者对数据库的临时访问。

出版访问列表

PAL 是在出版商处保护出版物的主要机制。 PAL 功能类似于Microsoft Windows 访问控制列表。 创建发布时,复制过程将为该发布创建一个 PAL。 PAL 可配置为包含有权访问发布的登录名和组的列表。 当代理连接到发布服务器或分发服务器并请求访问发布时,PAL 中的身份验证信息与代理提供的发布服务器登录名进行比较。 此过程通过阻止客户端工具使用发布服务器和分发服务器登录直接对发布服务器执行修改,从而为发布服务器提供额外的安全性。

注释

复制会在发布服务器上为每个发布创建一个角色,以强制实施 PAL 成员身份。 该角色的格式为 Msmerge_<PublicationID> 进行合并复制, MSReplPAL_<PublicationDatabaseID>_<PublicationID> 用于事务复制和快照复制。

默认情况下,PAL 中包含以下登录名:创建发布时 sysadmin 固定服务器角色的成员以及用于创建发布的登录名。 默认情况下,作为 sysadmin 固定服务器角色成员或发布数据库中 db_owner 固定数据库角色的所有登录名都可以订阅发布,而无需显式添加到 PAL。

使用 PAL 时,请考虑以下准则:

  • 在将登录名添加到 PAL 之前,必须将 SQL Server 登录名与发布数据库中的数据库用户相关联。

  • 遵循最小特权原则,在PAL系统中仅给予登录名执行复制任务所需的最低权限。 不要将登录名添加到不需要进行复制的任何固定数据库角色或服务器角色中。 有关所需权限的详细信息,请参阅 复制代理安全模型复制安全最佳做法

  • 如果使用远程分发服务器,则 PAL 中的帐户必须在发布服务器和分发服务器上都可用。 该帐户必须是域帐户,或者是在这两个服务器上定义的本地帐户。 与两个登录名关联的密码必须相同。

  • 如果 PAL 包含 Windows 帐户,并且域使用 Active Directory,则运行 SQL Server 的帐户必须有权从 Active Directory 读取。 如果 Windows 帐户出现问题,请确保运行 SQL Server 的帐户具有足够的权限。 有关详细信息,请参阅 Windows 文档。

若要管理 PAL,请参阅 发布访问列表中的“管理登录名”。

快照代理

每个发布都有一个快照代理。 有关详细信息,请参阅 “创建发布”。

FTP 快照传送

如果指定应通过 FTP 共享而不是 UNC 共享提供快照,则必须在配置 FTP 访问时指定登录名和密码。 有关详细信息,请参阅 通过 FTP 传送快照

日志读取代理

对于为事务复制发布的每个数据库,都有一个日志读取器代理。 有关详细信息,请参阅 “创建发布”。

队列读取器代理

与给定分发服务器关联的所有发布服务器和发布(允许排队更新订阅)都有一个队列读取器代理。 有关详细信息,请参阅 为事务发布启用更新订阅功能

另请参阅

启用数据库引擎的加密连接(SQL Server 配置管理器)
复制安全最佳做法
SQL Server 复制安全性