分发代理安全性

适用于:SQL Server

使用 “分发代理安全性” 对话框可以指定用于运行分发代理的 Windows 帐户。 对于推送订阅,分发代理在分发服务器上运行;对于请求订阅,分发代理在订阅服务器上运行。 Microsoft Windows 帐户也称为“进程帐户 ”,因为代理进程是在此帐户下运行。 该对话框中可用的其他选项取决于访问对话框的方式:

  • 如果从新建订阅向导访问该对话框,您还可以指定分发代理在建立与订阅服务器(对于推送订阅)或分发服务器(对于请求订阅)的连接时所使用的上下文。 可以通过模拟 Windows 帐户,或在指定的 Microsoft SQL Server 帐户的上下文中建立连接。

  • 如果从 “订阅属性” 对话框访问该对话框,可通过单击该对话框的“订阅服务器连接”“分发服务器连接” 行中的属性按钮 ( ... ) 来指定分发代理建立连接时所使用的上下文。 有关访问“订阅属性”对话框的详细信息,请参阅查看和修改推送订阅属性和如何查看和修改请求订阅属性

所有帐户必须是有效的,并且为每个帐户指定了正确的密码。 在运行代理之前不会对帐户和密码进行验证。

选项

进程帐户
输入运行分发代理所使用的 Windows 帐户:

  • 对于推送订阅,该帐户必须:

    • 至少是分发数据库中的 db_owner 固定数据库角色的成员。

    • 是发布访问列表 (PAL) 的成员。

    • 对快照共享拥有读取权限。

    • 如果订阅针对非 SQL Server 订阅服务器,则具备对订阅服务器的 OLE DB 提供程序安装目录的读取权限。

  • 对于请求订阅,该帐户必须至少为订阅数据库中的 db_owner 固定数据库角色的成员。

如果在建立连接时模拟进程帐户,则还需要其他权限。 请参阅下面的 “连接到分发服务器”“连接到订阅服务器” 部分。

由于 SQL Server Express 实例上未运行分发代理,因此不能为对 Microsoft SQL Server Express 的请求订阅指定“进程帐户”

“密码”“确认密码”
输入 Windows 帐户的密码。

“连接到分发服务器”
对于推送订阅,始终通过模拟 “进程帐户” 文本框中指定的帐户来建立与分发服务器的连接。

对于请求订阅,请选择分发代理是通过模拟在“进程帐户”文本框中指定的帐户,还是通过使用 SQL Server 帐户来建立与分发服务器的连接。 如果选择使用 SQL Server 帐户,请输入 SQL Server 登录名和密码。

注意

建议你选择模拟 Windows 帐户,而不要使用 SQL Server 帐户。

连接所用的 Windows 帐户或 SQL Server 帐户必须:

  • 是 PAL 的成员。

  • 对快照共享拥有读取权限。

“连接到订阅服务器”
对于请求订阅,始终通过模拟 “进程帐户” 文本框中指定的帐户来建立与订阅服务器的连接。

对于推送订阅,SQL Server 订阅服务器和非 SQL Server 订阅服务器的选项是不同的:

  • 对于 SQL Server 订阅服务器:请选择分发代理是通过模拟在“进程帐户”文本框中指定的帐户,还是通过使用 SQL Server 帐户来建立与订阅服务器的连接。 如果选择使用 SQL Server 帐户,请输入 SQL Server 登录名和密码。

    注意

    建议你选择模拟 Windows 帐户,而不要使用 SQL Server 帐户。

    连接订阅服务器所用的 Windows 帐户或 SQL Server 帐户必须至少为订阅数据库中的 db_owner 固定数据库角色的成员。

  • 对于非 SQL Server 订阅服务器,请在订阅服务器上指定当分发代理连接到订阅服务器时所使用的数据库登录名。 该登录名应具有足够的权限以在订阅数据库中创建对象。 有关配置非 SQL Server 订阅服务器的详细信息,请参阅为非 SQL Server 订阅服务器创建订阅

其他连接选项
仅限非 SQL Server 订阅服务器。 以连接字符串的形式为订阅服务器指定所有连接选项(Oracle 不需要指定附加选项)。 应使用分号分隔每个选项。 下面是 IBM DB2 连接字符串的示例(使用分行符是为了提高可读性):

Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;  
PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;  
Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;  
Persist Security Info=False;Connection Pooling=True;  

字符串中的大多数选项都特定于正在配置的 DB2 服务器,但是应始终将“将二进制数作为字符处理” 选项设置为 False。 需要为“初始目录” 选项指定一个值以标识订阅数据库。 有关详细信息,请参阅 IBM DB2 Subscribers

另请参阅

复制的标识和访问控制
复制代理安全性模式
复制代理概述
复制安全最佳做法
Subscribe to Publications

适用于:SQL ServerAzure SQL 托管实例

使用“分发代理安全性”对话框可以指定用于运行分发代理的 SQL 身份验证帐户。 对于推送订阅,分发代理在分发服务器上运行;对于请求订阅,分发代理在订阅服务器上运行。 该对话框中可用的其他选项取决于访问对话框的方式:

  • 如果从新建订阅向导访问该对话框,您还可以指定分发代理在建立与订阅服务器(对于推送订阅)或分发服务器(对于请求订阅)的连接时所使用的上下文。 应使用 SQL Server 身份验证帐户建立连接。

  • 如果从 “订阅属性” 对话框访问该对话框,可通过单击该对话框的“订阅服务器连接”“分发服务器连接” 行中的属性按钮 ( ... ) 来指定分发代理建立连接时所使用的上下文。 有关访问“订阅属性”对话框的详细信息,请参阅查看和修改推送订阅属性和如何查看和修改请求订阅属性

所有帐户必须是有效的,并且为每个帐户指定了正确的密码。 在运行代理之前不会对帐户和密码进行验证。

选项

进程帐户
输入运行分发代理所使用的 SQL Server 身份验证帐户:

  • 对于推送订阅,该帐户必须:

    • 至少是分发数据库中的 db_owner 固定数据库角色的成员。

    • 是发布访问列表 (PAL) 的成员。

    • 对快照共享拥有读取权限。

    • 如果订阅针对非 SQL Server 订阅服务器,则具备对订阅服务器的 OLE DB 提供程序安装目录的读取权限。

  • 对于请求订阅,该帐户必须至少为订阅数据库中的 db_owner 固定数据库角色的成员。

“密码”“确认密码”
输入 Windows 帐户的密码。

“连接到分发服务器”
对于推送订阅,始终通过模拟 “进程帐户” 文本框中指定的帐户来建立与分发服务器的连接。

对于请求订阅,请选择分发代理是通过模拟在“进程帐户”文本框中指定的帐户,还是通过使用 SQL Server 身份验证帐户来建立与分发服务器的连接。

“连接到订阅服务器”
对于请求订阅,始终通过模拟 “进程帐户” 文本框中指定的帐户来建立与订阅服务器的连接。

对于推送订阅,SQL Server 订阅服务器和非 SQL Server 订阅服务器的选项是不同的:

  • 对于非 SQL Server 订阅服务器,请在订阅服务器上指定当分发代理连接到订阅服务器时所使用的数据库登录名。 该登录名应具有足够的权限以在订阅数据库中创建对象。 有关配置非 SQL Server 订阅服务器的详细信息,请参阅为非 SQL Server 订阅服务器创建订阅

其他连接选项
仅限非 SQL Server 订阅服务器。 以连接字符串的形式为订阅服务器指定所有连接选项(Oracle 不需要指定附加选项)。 应使用分号分隔每个选项。 下面是 IBM DB2 连接字符串的示例(使用分行符是为了提高可读性):

Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;  
PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;  
Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;  
Persist Security Info=False;Connection Pooling=True;  

字符串中的大多数选项都特定于正在配置的 DB2 服务器,但是应始终将“将二进制数作为字符处理” 选项设置为 False。 需要为“初始目录” 选项指定一个值以标识订阅数据库。 有关详细信息,请参阅 IBM DB2 Subscribers

另请参阅

使用 Azure SQL 数据库进行事务复制为 Azure SQL 托管实例配置复制