MSSQLSERVER_21879
Aplica-se: SQL Server
Detalhes
Atributo | Valor |
---|---|
Nome do produto | SQL Server |
ID do evento | 21879 |
Origem do Evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbólico | SQLErrorNum21879 |
Texto da mensagem | Não foi possível consultar o servidor redirecionado '% s' para o publicador original '% s' e o banco de dados publicador '% s' para determinar o nome do servidor remoto; Erro %d, Mensagem de erro '% s.' |
Explicação
sp_validate_redirected_publisher usa um servidor vinculado temporário criado para se conectar ao publicador redirecionado e descobrir o nome do servidor remoto. O erro 21879 é retornado quando a consulta de servidor vinculado falha. A chamada para solicitar o nome de servidor remoto é normalmente o primeiro uso do servidor vinculado temporário e, portanto, se houver problemas de conectividade, é provável que eles apareçam primeiro com essa chamada. Essa chamada remota simplesmente executa @@servername selecionados no servidor remoto.
O servidor vinculado usado para consultar o publicador redirecionado usa o modo de segurança, o logon e a senha fornecidos quando sp_adddistpublisher foi chamado para o publicador original.
Se a autenticação do SQL Server tiver sido usada (modo de segurança 0), o logon e a senha especificados serão usados para se conectar ao servidor remoto.
Se a autenticação do Windows tiver sido usada (modo de segurança 1), uma conexão confiável será usada para conectar.
Se sp_validate_redirected_publisher for chamado explicitamente por um usuário, o logon do Windows usado pelo usuário será usado para a conexão.
Se o sp_validate_redirected_publisher for chamado por um agente de replicação em sp_get_redirected_publisher, o logon do Windows associado ao agente será usado.
O erro 21879 pode indicar que sp_validate_redirected_publisher foi chamado usando um logon que não é conhecido no publicador de destino redirecionado.
Ação do usuário
Verifique se o logon de autenticação do SQL Server ou o logon de autenticação do Windows é válido em todas as réplicas do grupo de disponibilidade e tem autorização suficiente para acessar as tabelas de metadados de assinatura (syssubscriptions e sysmergesubscriptions) no banco de dados do editor.
Existem considerações especiais quando o erro 21879 é retornado de uma chamada a sp_get_redirected_publisher iniciada por um agente de replicação executado em um nó diferente do distribuidor, como um agente de mesclagem executado em um assinante. Se a autenticação do Windows for usada para a conexão com o editor redirecionado, o SQL Server deverá ser configurado para autenticação Kerberos para que a conexão seja estabelecida com êxito. Quando a autenticação do Windows é usada e o SQL Server não está configurado para autenticação Kerberos, o erro 18456 indicando que o logon 'NT AUTHORITY\ANONYMOUS LOGON' falhou, é recebido por um agente de mesclagem em execução em um assinante. Há três maneiras possíveis de lidar com este problema:
Configure o SQL Server para autenticação Kerberos. Consulte Autenticação Kerberos e SQL Server nos Manuais Online do SQL Server.
Use sp_changedistpublisher para alterar o modo de segurança associado ao publicador original em MSdistpublishers, bem como para especificar um logon e a senha a serem usados para a conexão.
Especifique o parâmetro de linha de comando BypassPublisherValidation na linha de comando do agente de mesclagem para ignorar a validação quando sp_get_redirected_publisher for chamado no distribuidor.