sp_validate_replica_hosts_as_publishers (Transact-SQL)
Applies to: SQL Server
sp_validate_replica_hosts_as_publishers
is an extension of sp_validate_redirected_publisher
that allows all secondary replicas to be validated, rather than just the current primary replica. sp_validate_replica_hosts_as_publisher
validates an entire Always On replication topology. sp_validate_replica_hosts_as_publishers
must be executed directly on the distributor by using a remote desktop session to avoid a double-hop security error (21892).
Transact-SQL syntax conventions
Syntax
sp_validate_replica_hosts_as_publishers
[ @original_publisher = ] N'original_publisher'
, [ @publisher_db = ] N'publisher_db'
, [ @redirected_publisher = ] N'redirected_publisher' OUTPUT
[ ; ]
Arguments
[ @original_publisher = ] N'original_publisher'
The name of the instance of SQL Server that originally published the database. @original_publisher is sysname, with no default.
[ @publisher_db = ] N'publisher_db'
The name of the database being published. @publisher_db is sysname, with no default.
[ @redirected_publisher = ] N'redirected_publisher' OUTPUT
The target of redirection when sp_redirect_publisher
was called for the original publisher/published database pair. @redirected_publisher is an OUTPUT parameter of type sysname, with no default.
Return code values
0
(success) or 1
(failure).
Result set
None.
Remarks
If no entry exists for the publisher and the publishing database, sp_validate_redirected_publisher
returns null for the output parameter @redirected_publisher. Otherwise, the associated redirected publisher is returned, both on success and failure.
If the validation succeeds, sp_validate_redirected_publisher
returns a success indication.
If the validation fails, appropriate errors are raised. sp_validate_redirected_publisher
makes a best effort to raise all issues and not just the first encountered.
sp_validate_replica_hosts_as_publishers
fails with the following error when validating secondary replica hosts that don't allow read access, or require read intent to be specified.
Msg 21899, Level 11, State 1, Procedure
sp_hadr_verify_subscribers_at_publisher
, Line 109The query at the redirected publisher 'MyReplicaHostName' to determine whether there were sysserver entries for the subscribers of the original publisher 'MyOriginalPublisher' failed with error '976', error message 'Error 976, Level 14, State 1, Message: The target database, 'MyPublishedDB', is participating in an availability group and is currently not accessible for queries. Either data movement is suspended or the availability replica isn't enabled for read access. To allow read-only access to this and other databases in the availability group, enable read access to one or more secondary availability replicas in the group. For more information, see the ALTER AVAILABILITY GROUP statement in SQL Server Books Online.
Permissions
Caller must either be a member of the sysadmin fixed server role, the db_owner fixed database role for the distribution database, or a member of a publication access list for a defined publication associated with the publisher database.