sp_validate_replica_hosts_as_publishers (Transact-SQL)

適用於:SQL Server

sp_validate_replica_hosts_as_publishers 是的延伸模組 sp_validate_redirected_publisher ,允許驗證所有次要複本,而不只是目前的主要複本。 sp_validate_replica_hosts_as_publisher 驗證整個AlwaysOn複寫拓撲。 sp_validate_replica_hosts_as_publishers 必須使用遠端桌面會話直接在散發者上執行,以避免發生雙躍點安全性錯誤 (21892)。

Transact-SQL 語法慣例

語法

sp_validate_replica_hosts_as_publishers
    [ @original_publisher = ] N'original_publisher'
    , [ @publisher_db = ] N'publisher_db'
    , [ @redirected_publisher = ] N'redirected_publisher' OUTPUT
[ ; ]

引數

[ @original_publisher = ] N'original_publisher'

最初發行資料庫的 SQL Server 實例名稱。 @original_publisher為 sysname,沒有預設值。

[ @publisher_db = ] N'publisher_db'

要發行之資料庫的名稱。 @publisher_db為 sysname,沒有預設值。

[ @redirected_publisher = ] N'redirected_publisher' OUTPUT

針對原始發行者/發行的資料庫組呼叫 時 sp_redirect_publisher 重新導向的目標。 @redirected_publisher是 sysname 類型的 OUTPUT 參數,沒有預設值。

傳回碼值

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

結果集

無。

備註

如果發行者和發行資料庫沒有專案存在, sp_validate_redirected_publisher 則傳回輸出參數 的 null @redirected_publisher。 否則,會在成功和失敗時傳回相關聯的重新導向發行者。

如果驗證成功, sp_validate_redirected_publisher 則傳回成功指示。

如果驗證失敗,則會引發適當的錯誤。 sp_validate_redirected_publisher 盡最大努力提出所有問題,而不僅僅是第一次遇到的問題。

sp_validate_replica_hosts_as_publishers 驗證不允許讀取存取的次要複本主機,或需要指定讀取意圖時,會失敗並出現下列錯誤。

訊息 21899、層級 11、狀態 1、程式 sp_hadr_verify_subscribers_at_publisher、行 109

在重新導向的發行者 'MyReplicaHostName' 上用以判斷原始發行者 'MyOriginalPublisher' 的訂閱者是否有 sysserver 項目的查詢失敗,發生錯誤 '976',錯誤訊息為「錯誤 976,層級 14,狀態 1,訊息:目標資料庫 'MyPublishedDB' 正參與可用性群組,目前無法供查詢存取。 資料移動已暫停,或者可用性複本無法進行讀取存取。 若要允許唯讀存取可用性群組中的這個資料庫和其他資料庫,請啟用群組中一個或多個次要可用性複本的讀取存取。 如需詳細資訊,請參閱《SQL Server 在線叢書》中的 ALTER AVAILABILITY GROUP 語句。

權限

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