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 中的 0 和 error_severity 資料行,以及 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)