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)