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


sp_validate_replica_hosts_as_publishers (Transact-SQL)

Хранимая процедура sp_validate_replica_hosts_as_publishers — это расширение хранимой процедуры sp_validate_redirected_publisher, которое обеспечивает проверку всех вторичных реплик, а не только текущей первичной реплики. Хранимая процедура sp_validate_replicat_hosts_as_publisher проверяет всю топологию репликации AlwaysOn. Команда sp_validate_replica_hosts_as_publishers должна выполняться прямо для распространителя с помощью сеанса удаленного рабочего стола, чтобы не возникла ошибка безопасности двойного прыжка (21892).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

sp_validate_replica_hosts_as_publishers 
    [ @original_publisher = ] 'original_publisher',
    [ @publisher_db = ] 'database_name', 
    [ @redirected_publisher = ] 'new_publisher' output

Аргументы

  • [ @original_publisher = ] 'original_publisher'
    Имя экземпляра SQL Server, первоначально опубликовавшего базу данных. Аргумент original_publisher имеет тип sysname и не имеет значения по умолчанию.

  • [ @publisher_db = ] 'publisher_db'
    Имя опубликованной базы данных. Аргумент publisher_db имеет тип sysname и не имеет значения по умолчанию.

  • [ @redirected_publisher = ] 'redirected_publisher'
    Цель перенаправления, указанная, когда хранимая процедура sp_redirect_publisher была вызвана для пары «первоначальный издатель/опубликованная база данных». Аргумент redirected_publisher имеет тип 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.

Произошла одна или несколько ошибок проверки издателя для узла реплики «MyReplicaHostName».

Разрешения

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

См. также

Справочник

Хранимые процедуры репликации (Transact-SQL)

sp_get_redirected_publisher (Transact-SQL)

sp_redirect_publisher (Transact-SQL)

sp_validate_redirected_publisher (Transact-SQL)