配置发布服务器以使用指定的分发数据库。此存储过程在分发服务器的任何数据库上执行。注意在使用此存储过程之前必须已运行存储过程 sp_adddistributor 和 sp_adddistributiondb。
sp_adddistpublisher [ @publisher = ] 'publisher'
[ , @distribution_db = ] 'distribution_db'
[ , [ @security_mode = ] security_mode ]
[ , [ @login = ] 'login' ]
[ , [ @password = ] 'password' ]
{ , [ @working_directory = ] 'working_directory'
}
[ , [ @trusted = ] 'trusted' ]
[ , [ @encrypted_password = ] encrypted_password ]
[ , [ @thirdparty_flag = ] thirdparty_flag ]
[@publisher = ] 'publisher'
是发布服务器名。publisher 的数据类型为 sysname,没有默认设置。
[ @distribution_db = ] 'distribution_db'
是分发数据库名。distribution_db 的数据类型为 sysname,没有默认设置。该参数由复制代理程序用于连接到发布服务器。
[@security_mode = ] security_mode
是已实现的安全模式。复制代理程序使用该参数连接到发布服务器。security_mode 的数据类型为 int,可以是下列值之一。
值 | 描述 |
---|---|
0 | 分发服务器上的复制代理程序使用 SQL Server 身份验证连接到发布服务器。 |
1 | 分发服务器上的复制代理程序使用 Windows 身份验证连接到发布服务器。 |
NULL(默认值) | 如果服务器(分发服务器)运行的是 Windows 95® 或 Windows 98 操作系统,则系统将该值更改为 0。如果服务器(分发服务器)运行的是 Windows NT® 4.0 或 Windows 2000 操作系统,则系统将该值更改为 1。 |
[ @login = ] 'login'
是登录。如果 security_mode 是 0,则必需该参数。login 的数据类型为 sysname,默认设置为 sa。该参数由复制代理程序用于连接到发布服务器。
[@password = ] 'password']
是密码。password 的数据类型为 sysname,默认设置为 NULL。该参数由复制代理程序用于连接到发布服务器。
[@working_directory = ] 'working_directory'
是用于存储发布的数据和架构文件的工作目录名。working_directory 的数据类型为 nvarchar(255)。应将该名称指定为 UNC 格式。
[@trusted = ] 'trusted'
是远程发布服务器使用与本地分发服务器相同的密码的时间。trusted 的数据类型为 nvarchar(5),可以是下列值之一。
值 | 描述 |
---|---|
True | 添加一个信任登录映射:sa 到 distributor_admin。该映射受信任,因此在远程发布服务器上不需要密码连接到分发服务器。 |
False | 添加一个不可信的映射:distributor_admin 到 distributor_admin。远程发布服务器上需要密码建立连接。 |
NULL(默认值) | 如果分发发布者是本地的,则系统将该值更改为 false(不可信)。为分发服务器设置的任何密码也为本地分发发布者设置(链接服务器连接回本地分发服务器)。如果分发发布者是远程的,则系统将该值更改为 true(可信),并且在远程发布服务器上不需要密码。如果用户直接更改 distributor_admin 密码,而不是使用 sp_changedistributor_password,则本地链接断开。 |
[@encrypted_password = ] encrypted_password
是加密密码的时间。encrypted_password 的数据类型为 bit,默认设置为 0。如果设置为 1,则以加密格式存储密码。
[@thirdparty_flag = ] thirdparty_flag
是发布服务器为 Microsoft® SQL Server™ 的时间。thirdparty_flag 的数据类型为 bit,可以是下列值之一。
值 | 描述 |
---|---|
0(默认值) | Microsoft SQL Server 数据库。 |
1 | 除 SQL Server 之外的数据库。 |
0(成功)或 1(失败)
sp_adddistpublisher 用于快照复制、事务复制和合并复制。
只有 sysadmin 固定服务器角色成员才能执行 sp_adddistpublisher。