sp_get_redirected_publisher (Transact-SQL)

由复制代理用于查询分发服务器,以确定是否已重定向原始发布服务器。

主题链接图标 Transact-SQL 语法约定

语法

sp_get_redirected_publisher 
    [ @original_publisher = ] 'original_publisher',
    [ @publisher_db = ] 'database_name', 
    [ @bypass_publisher_validation = ] [0 | 1 ]

参数

  • [ @original_publisher = ] 'original_publisher'
    要发布的数据库的名称。 publisher_db 的数据类型为 sysname,无默认值。

  • [ @publisher_db = ] 'publisher_db'
    要发布的数据库的名称。 publisher_db 的数据类型为 sysname,无默认值。

  • [ @bypass_publisher_validation = ] [0 | 1 ]
    用于绕过重定向的发布服务器的验证。 如果为 0,则执行验证。 如果为 1,则不执行验证。 bypass_publisher_validation 的数据类型为 bit,默认值为 0。

返回代码值

0(成功)或 1(失败)

结果集

列名

数据类型

说明

redirected_publisher

sysname

重定向后的发布服务器的名称。

error_number

int

验证错误的错误号。

error_severity

int

验证错误的严重性。

error_message

nvarchar(4000)

验证错误消息的文本。

注释

redirected_publisher 将返回当前发布服务器的名称。 如果尚未使用 sp_redirect_publisher 重定向发布服务器和发布数据库,则返回 null。

如果未请求验证或发布服务器和发布数据库没有条目,则 error_number 和 error_severity 会返回 0,error_message 会返回 null。

如果已请求验证,则会调用验证存储过程 sp_validate_redirected_publisher (Transact-SQL) 来验证重定向目标是否适合发布数据库的主机。 如果验证成功,则 sp_get_redirected_publisher 会返回重定向的发布服务器的名称,error_number 和 error_severity 列将返回 0,error_message 列将返回 null。

如果验证请求失败,则会返回重定向的发布服务器的名称以及错误信息。

权限

调用方必须为 sysadmin 固定服务器角色的成员、分发数据库的 db_owner 固定数据库角色的成员、或是与此发布服务器数据库相关联的已定义发布的发布访问列表的成员。

请参阅

参考

复制存储过程 (Transact-SQL)

sp_validate_redirected_publisher (Transact-SQL)

sp_redirect_publisher (Transact-SQL)

sp_validate_replica_hosts_as_publishers (Transact-SQL)