Compartir por


MSSQLSERVER_21879

Se aplica a: SQL Server

Detalles

Attribute Valor
Nombre del producto SQL Server
Id. de evento 21879
Origen de eventos MSSQLSERVER
Componente SQLEngine
Nombre simbólico SQLErrorNum21879
Texto del mensaje No se puede consultar al servidor redireccionado "%s" para el publicador original "%s" y la base de datos del publicador "%s" para determinar el nombre del servidor remoto; error %d, mensaje de error "%s".

Explicación

sp_validate_redirected_publisher usa un servidor vinculado temporal que crea para conectarse al publicador redirigido a fin de detectar el nombre del servidor remoto. Se devuelve el error 21879 si se produce un error en la consulta de servidor vinculado. La llamada para solicitar el nombre del servidor remoto normalmente es el primer uso del servidor vinculado temporal, por lo que si hay problemas de conectividad es probable que aparezcan primero con esta llamada. Esta llamada remota simplemente ejecuta la selección de @@servername en el servidor remoto.

El servidor vinculado que se usa para consultar al publicador redirigido usa el modo de seguridad, el inicio de sesión y la contraseña suministrados cuando se llamó a sp_adddistpublisher para el publicador original.

  • Si se usó la autenticación de SQL Server (modo de seguridad 0), el inicio de sesión y la contraseña especificados se usan para conectarse al servidor remoto.

  • Si se usó la autenticación de Windows (modo de seguridad 1), se usa una conexión de confianza para la conexión.

    • Si un usuario llama a sp_validate_redirected_publisher de forma explícita, se usa el inicio de sesión de Windows en el que se ejecuta el usuario para la conexión.

    • Si un agente de replicación llama a sp_validate_redirected_publisher desde sp_get_redirected_publisher, se usa el inicio de sesión de Windows asociado al agente.

El error 21879 puede indicar que se llamó a sp_validate_redirected_publisher con un inicio de sesión desconocido en el publicador de destino redirigido.

Acción del usuario

Asegúrese de que el inicio de sesión de autenticación de SQL Server o el inicio de sesión de autenticación de Windows sea válido en todas las réplicas del grupo de disponibilidad y tenga suficiente autorización para acceder a las tablas de metadatos de suscripción (syssubscriptions y sysmergesubscriptions) en la base de datos del publicador.

Existen consideraciones especiales en caso de que se devuelva el error 21879 desde una llamada a sp_get_redirected_publisher iniciada por un agente de replicación ejecutado en un nodo distinto del distribuidor, como un agente de mezcla que se ejecute en un suscriptor. Si se usa autenticación de Windows para la conexión al publicador redirigido, SQL Server debe configurarse para la autenticación Kerberos para que la conexión se establezca correctamente. Cuando se usa autenticación de Windows y SQL Server no está configurado para la autenticación Kerberos, el error 18456 indica que se produjo un error en el inicio de sesión "NT AUTHORITY\ANONYMOUS LOGON", recibe un agente de mezcla que se ejecuta en un suscriptor. Hay tres formas posibles de solucionar este problema:

  • Configure SQL Server para la autenticación Kerberos. Consulte Autenticación Kerberos y SQL Server en los Libros en pantalla de SQL Server.

  • Use sp_changedistpublisher para cambiar el modo de seguridad asociado al publicador original de MSdistpublishers, además de para especificar un inicio de sesión y una contraseña que se usarán para la conexión.

  • Especifique el parámetro de la línea de comandos BypassPublisherValidation en la línea de comandos del agente de mezcla para omitir la validación cuando se llama a sp_get_redirected_publisher en el distribuidor.