sp_get_redirected_publisher (Transact-SQL)
适用范围:SQL Server
复制代理用于查询分发服务器以确定原始发布服务器是否已重定向。
语法
sp_get_redirected_publisher
[ @original_publisher = ] N'original_publisher'
, [ @publisher_db = ] N'publisher_db'
[ , [ @bypass_publisher_validation = ] bypass_publisher_validation ]
[ , [ @multi_subnet_failover = ] multi_subnet_failover ]
[ ; ]
参数
[ @original_publisher = ] N'original_publisher'
最初发布数据库的 SQL Server 实例的名称。 @original_publisher 为 sysname,没有默认值。
[ @publisher_db = ] N'publisher_db'
要发布的数据库的名称。 @publisher_db 为 sysname,无默认值。
[ @bypass_publisher_validation = ] bypass_publisher_validation
用于绕过重定向的发布服务器的验证。 如果 0
执行验证,则执行验证。 如果未 1
执行验证,则执行验证。 @bypass_publisher_validation 为 位,默认值为 0
.
[ @multi_subnet_failover = ] multi_subnet_failover
适用于: SQL Server 2022 (16.x) CU 10 及更高版本
用于传递用于创建动态链接服务器的信息。 如果 0
不是使用 MultiSubnetFailover
参数创建动态链接服务器。 如果 1
为动态链接服务器,则使用参数创建 MultiSubnetFailover
为 1
。 @multi_subnet_failover为位,默认值为 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 ,以验证重定向的目标是否适合发布数据库。 如果验证成功, sp_get_redirected_publisher
则返回重定向的发布者名称、 0
列 error_number
和 error_severity
NULL
error_message
列中的名称。
如果验证请求失败,则会返回重定向的发布服务器的名称以及错误信息。
权限
调用方必须是 sysadmin 固定服务器角色的成员、分发数据库的db_owner固定数据库角色,或者是与发布服务器数据库关联的已定义发布的发布访问列表的成员。