Поделиться через


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 — это параметр OUTPUT типа sysname без значения по умолчанию.

Значения кода возврата

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» для определения того, имеются ли записи sysserver для подписчиков исходного издателя «MyOriginalPublisher» , завершился с ошибкой «976»; сообщение об ошибке: «Ошибка 976, уровень 14, состояние 1, сообщение: Целевая база данных «MyPublishedDB» участвует в группе доступности и в настоящее время недоступна для запросов. Либо перемещение данных приостановлено, либо реплика доступности не включена для доступа на чтение. Чтобы разрешить доступ только для чтения к этой и другим базам данных в группе доступности, задайте доступ для чтения одной или нескольким вторичным репликам доступности в группе. Дополнительные сведения см. в инструкции ALTER AVAILABILITY GROUP в электронной документации ПО SQL Server.

Разрешения

Вызывающий объект должен быть членом предопределенной роли сервера sysadmin, db_owner предопределенной роли базы данных распространителя или членом списка доступа к публикации для определенной публикации, связанной с базой данных издателя.