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 предопределенной роли базы данных распространителя или членом списка доступа к публикации для определенной публикации, связанной с базой данных издателя.