sp_get_redirected_publisher (Transact-SQL)

適用於:SQL Server

複寫代理程式用來查詢散發者,以判斷原始發行者是否已重新導向。

Transact-SQL 語法慣例

語法

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為 bit,預設值為 0

[ @multi_subnet_failover = ] multi_subnet_failover

適用於: SQL Server 2022 (16.x) CU 10 和更新版本

用來傳遞建立動態鏈接伺服器的資訊。 如果 0為 ,則不會使用 MultiSubnetFailover 參數建立動態連結伺服器。 如果 1為 ,則會使用 參數建立 MultiSubnetFailover 動態連結伺服器做為 1@multi_subnet_failover為 bit,預設值為 0

傳回碼值

0 (成功)或 1 (失敗)。

結果集

資料行名稱 資料類型 描述
redirected_publisher sysname 重新導向之後發行者的名稱。
error_number int 驗證錯誤的錯誤號碼。
error_severity int 驗證錯誤的嚴重性。
error_message nvarchar(4000) 驗證錯誤訊息的文字。

備註

redirected_publisher 會傳回目前的發行者名稱。 NULL如果發行者與發行資料庫未使用 sp_redirect_publisher重新導向, 則傳回 。

如果未要求驗證,或發行者和發行資料庫沒有任何專案存在,error_numbererror_severity傳回並error_messageNULL0

如果要求驗證,則會呼叫驗證預存程式 sp_validate_redirected_publisher (Transact-SQL) ,以確認重新導向的目標是否為發行資料庫的合適主機。 如果驗證成功,sp_get_redirected_publisher則會傳error_number回和 error_severity 資料行的重新導向發行者名稱0,並在NULL資料行中error_message傳回 。

如果要求驗證且失敗,則會傳回重新導向的發行者名稱以及錯誤資訊。

權限

呼叫端必須是系統管理員固定伺服器角色的成員散發資料庫的db_owner固定資料庫角色,或是與發行者資料庫相關聯之已定義發行集之發行集存取清單的成員。