Causa y resolución de eventos de Notification Services

Actualizado: 17 de julio de 2006

Los eventos de Notification Services se dividen en cuatro categorías: error, advertencia, información y detallado. Estas categorías se utilizan para configurar los tipos de evento que escribe Notification Services en el registro de la aplicación. Para obtener más información acerca de cómo configurar el registro de eventos, vea Configurar el registro de eventos de Notification Services.

Tipos de eventos

En la siguiente tabla aparecen los intervalos de Id. de evento, la descripción de los eventos de cada intervalo y el tipo de evento según se muestra en el Visor de sucesos.

Intervalo de Id. de evento Descripción Tipo de evento

0 - 9999

Errores de todos los orígenes salvo de procedimientos almacenados extendidos

Error

10000 - 19999

Advertencias de todos los orígenes

Advertencia

20000 - 29999

Información de todos los orígenes

Información

30000 - 39999

Información detallada de todos los orígenes

Información

Si utiliza una aplicación de supervisión de registro, debería supervisar los errores y advertencias del intervalo 0 - 19999. La supervisión de eventos de información es menos crítica y se efectúa normalmente para realizar el seguimiento de actividades específicas como, por ejemplo, el inicio y la detención de servicios.

[!NOTA] Supervise los eventos utilizando los Id. de evento únicos. No analice un texto específico de las descripciones de evento porque el texto podría cambiar en función de la configuración regional o en futuras versiones de Notification Services.

Causa y resolución de eventos

La siguiente lista incluye los eventos que con mayor frecuencia encuentran los usuarios de Notification Services y las posibles soluciones para estos eventos.

Número de evento Mensaje, causa y solución

1006

Error al intentar abrir la base de datos solicitada.

Causa

Este error se asigna al error 4060 de SQL Server. El error indica que el usuario actual no tiene permisos suficientes para iniciar sesión en la base de datos especificada.

La entrada del registro de eventos del error incluye la descripción del error de SQL Server que lo provocó. La descripción se asemeja a la siguiente:

    No se puede abrir la base de datos solicitada en el inicio de sesión 'nombre_baseDeDatos'. Error de inicio de sesión.

Solución

Compruebe que la cuenta que utiliza Notification Services tenga una cuenta de inicio de sesión de SQL Server y permisos en la base de datos indicada en el mensaje de error. Para obtener más información, vea Configurar permisos de SQL Server para una instancia de Notification Services.

1008

El nombre de intercalación especificado no es válido. Vea los Libros en pantalla de SQL Server para saber qué nombres son válidos.

Causa

Este error se asigna al error 448 de SQL Server. El error indica que el nombre de intercalación especificado (generalmente, en la definición de la aplicación) no es válido.

La entrada del registro de eventos del error incluye la descripción del error de SQL Server que lo provocó. La descripción se asemeja a la siguiente:

    La intercalación 'nombre_colación' no es válida.

Solución

Las intercalaciones pueden especificarse en distintas partes de la definición de la aplicación. Busque la información sobre nombre_colación que se indica en la entrada del registro de eventos y reemplácela por un nombre de intercalación válido. Para obtener más información acerca del orden de las intercalaciones, vea COLLATE (Transact-SQL).

1009

El período de tiempo de espera concluyó antes de que finalizara una instrucción de Transact-SQL.

Causa

Este error se produce cuando una consulta o un procedimiento almacenado no finaliza dentro del tiempo de espera especificado. Normalmente indica que SQL Server está muy ocupado. Se devuelve un mensaje de error diferente si la ejecución de una regla de evento o una regla de suscripción supera el tiempo de espera especificado en la definición de la aplicación.

La entrada del registro de eventos del error incluye la descripción del error real que lo provocó.

Solución

Examine la entrada del registro de eventos para obtener más información acerca de la acción que ha superado el tiempo de espera.

Si la causa del error fue la supresión de datos, es posible que tenga que eliminar las notificaciones y los eventos que expiraron. Para obtener más información, vea Quitar datos de aplicación obsoletos.

Notification Services utiliza un valor de tiempo de espera de 30 segundos para muchas operaciones. Si es posible, reduzca el procesamiento de la acción afectada de forma que pueda completarse en 30 segundos.

1010

Hay una incoherencia de intercalación entre la base de datos de instancias principal y la base de datos de aplicaciones.

Causa

Este error se asigna al error 446 de SQL Server. El error indica que la operación especificada recibió objetos con intercalaciones incoherentes.

La entrada del registro de eventos del error incluye la descripción del error real que lo provocó. La descripción se asemeja a la siguiente:

No se puede resolver el conflicto de intercalación para la operación nombre_operación.

Solución

Consulte la entrada del registro de eventos para determinar la operación que produjo el error y asegúrese de que los argumentos de la función especificada dispongan de sus correspondientes colaciones. Por ejemplo, si tiene dos columnas en la misma tabla con intercalaciones en griego y en latín, respectivamente, una cláusula WHERE como la siguiente causaría este error:

    WHERE GriegoCol = LatínCol

El error resultante tendrá la siguiente descripción adicional:

    No se puede resolver el conflicto de intercalación para la operación igual a.

El problema que se indica en este error se debe resolver para que el sistema funcione de forma correcta.

Para obtener más información, vea COLLATE (Transact-SQL).

1011

Error al iniciar una sesión en SQL Server.

Causa

Este error se asigna al error 18456 de SQL Server. El error indica que un usuario determinado no tiene los permisos adecuados para iniciar la sesión.

La entrada del registro de eventos del error incluye la descripción del error de SQL Server que lo desencadenó. La descripción se asemeja a la siguiente:

    Error de inicio de sesión del usuario nombreDeUsuario.

Solución

Compruebe que el nombre de usuario que se indique en el mensaje de error tenga los permisos adecuados.

Para obtener más información, vea Resolver problemas comunes de Notification Services.

2009

Notification Services no pudo crear una instancia del proveedor de eventos.

Causa

Notification Services no pudo crear una instancia del proveedor de eventos. Este error puede producirse si un proveedor de eventos personalizado no se generó con la versión 2.0.50727 de .NET Framework. Cuando Notification Services y un componente personalizado utilizan versiones distintas de .NET Framework, las diferencias en las bibliotecas de clases pueden provocar errores de la aplicación.

Solución

Cuando sea posible, genere componentes personalizados con la versión 2.0.50727 de .NET Framework. Si debe generar componentes personalizados con otras versiones de .NET Framework, puede forzar a Notification Services para que utilice la misma versión. Para ello, agregue un nodo de <inicio> al archivo NSService.exe.config. Éste se encuentra en la carpeta vN.N.N.N\Bin de Notification Services. En el siguiente ejemplo se muestra el nodo de <inicio>:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<startup>

<supportedRuntime version="v2.1"/>

<supportedRuntime version="v2.0.50727"/>

</startup>

...

Los elementos <supportedRuntime> restringen las versiones de .NET Framework que Notification Services puede utilizar. El orden de las versiones indicadas determina el orden en que Notification Services intentará cargar las versiones de .NET Framework. En el ejemplo anterior, Notification Services primero intentará cargar la versión 2.1 de .NET Framework. Si no está disponible, Notification Services intentará cargar la versión 2.0.50727 de .NET Framework. Tenga en cuenta que la versión 2.1 no es un número de versión real. Se trata sólo de un ejemplo ilustrativo.

Debe reiniciar la instancia de Notification Services para aplicar los cambios realizados en NSService.exe.config.

2023

No se encontró el nombre de clase del proveedor de eventos en el ensamblado especificado. Asegúrese de que el nombre de clase y el nombre de ensamblado incluidos en la definición de la aplicación (ADF) son correctos.

Causa

Este error se produce cuando el host del proveedor no inicia un proveedor de eventos porque el ensamblado especificado en el valor Proveedores de la definición de la aplicación no contiene la clase de proveedor de eventos especificada. El proveedor de eventos no se ejecutará si se produce este error.

Notification Services crea una instancia del proveedor de eventos mediante la carga del ensamblado que especifica la propiedad AssemblyName de la definición de la aplicación y, a continuación, mediante la creación de un objeto del tipo especificado en la propiedad ClassName. Este error indica que Notification Services no pudo crear una instancia del nombre de clase a partir de la DLL proporcionada. Frecuentemente, la propiedad AssemblyName especifica una DLL incorrecta o la propiedad ClassName especifica una clase incorrecta.

La entrada del registro de eventos del error contiene una descripción de la excepción que se inició.

Solución

Primero, asegúrese de que las propiedades ClassName y AssemblyName se especifiquen de forma correcta. Si realiza cambios, actualice la aplicación Notification Services y, a continuación, habilite los eventos. El host del proveedor intentará reiniciar el proveedor de eventos. Si el servicio se detuvo durante la actualización, el host del proveedor intentará reiniciar el proveedor de eventos cuando se reinicie el servicio.

4012

Hay un cuanto finalizado que incluye la hora actual.

Causa

Durante el funcionamiento normal, el intervalo de tiempo procesado por Notification Services debe producirse en el pasado. Es probable que este error se produzca si se modificó el reloj del sistema del servidor que aloja la base de datos.

Solución

Reinicie el reloj del sistema de la base de datos para corregir la hora.

6007

No se pudo cargar el ensamblado que contenía el protocolo de entrega.

Causa

Este error se produce cuando el distribuidor no puede cargar el ensamblado que se especifica para un protocolo de entrega personalizado.

Solución

En la configuración de la instancia, compruebe la propiedad Protocolos para asegurarse de que el nombre de ensamblado especificado para el protocolo personalizado sea correcto. El nombre de ensamblado debe contener la ruta de acceso completa. Por ejemplo, si el ensamblado se llama miprotocolo.dll y se encuentra en el directorio C:\bin\ComponentesPersonalizados, debe especificar el nombre de ensamblado así: C:\bin\ComponentesPersonalizados\miprotocolo.dll.

El nombre de ensamblado que especifique debe señalar a un ensamblado de código administrado válido. Para comprobar si el archivo es un ensamblado de código administrado, ábralo en la herramienta ildasm.exe disponible en el SDK de Microsoft .NET Framework.

9028

La versión del ensamblado no coincide con la versión de la base de datos.

Causa

Este evento se produce cuando la versión de Notification Services no coincide con la versión almacenada en la base de datos de instancias.

Notification Services requiere que la versión del archivo ejecutable del servicio (NSService.exe) coincida con la versión de la base de datos que se modificó por última vez (que se creó o actualizó). La entrada del registro de eventos contiene la AssemblyVersion, que es la versión del ejecutable del servicio, y la DatabaseVersion.

Solución

Esta situación puede solucionarse de tres formas distintas:

  • Ejecute el archivo ejecutable del servicio cuya versión coincida con la versión de las bases de datos de instancias.
  • Actualice las bases de datos de instancias a la versión del ejecutable. Para obtener más información, vea Migrar instancias de Notification Services.
  • Vuelva a crear las bases de datos de instancias. Éste debería ser el último recurso, ya que se perderá toda la información de la instancia.

9041

La base de datos se creó o actualizó con una edición diferente de Notification Services. Utilice la edición que la base de datos necesita.

Causa

Este evento se produce cuando la edición de Notification Services, como Standard o Enterprise, no coincide con la edición almacenada en la base de datos de instancias.

Notification Services requiere que la edición del archivo ejecutable del servicio (NSService.exe) coincida con la edición de la base de datos de instancias. En el cuerpo de la entrada del registro de eventos se indica la edición de Notification Services, que es la edición del archivo ejecutable del servicio y la edición de la base de datos. Estos valores deben ser idénticos.

Solución

Esta situación puede solucionarse de tres formas distintas:

  • Si tiene una edición del archivo NSService.exe que coincida con la edición de las bases de datos de instancias, ejecute dicho NSService.exe.
  • Si la edición de las bases de datos de instancias es anterior a la del archivo NSService.exe, actualice las bases de datos de instancias a la edición del ejecutable. Para obtener más información, vea Migrar instancias de Notification Services.
  • Como último recurso, vuelva a crear las bases de datos de instancias. Tenga en cuenta que esta acción elimina toda la información de la instancia.

16001

Se anuló el procesamiento de un elemento de trabajo porque hay demasiados errores consecutivos en el canal de entrega.

Causa

Esta advertencia tiene lugar cuando el distribuidor abandona el procesamiento de un elemento de trabajo debido a que se produjeron demasiados errores consecutivos Por lo general indica algún tipo de condición de error prolongada en el canal de entrega.

Solución

Examina el estado de entrega de las notificaciones individuales para determinar la naturaleza de los errores y la acción que se debe tomar para corregir la situación.

Puede controlar el número de errores de entrega consecutivos que se deben producir para que el distribuidor abandone el elemento de trabajo. Para ello, especifique un valor para la opción FailuresBeforeAbort en la sección ProtocolExecutionSettings de la definición de la aplicación, para cada protocolo que admita la clase de notificación. Si no proporciona ningún valor para esta propiedad, se utiliza el valor predeterminado de 20.

4093 - 4099

No se pudo actualizar un contador de rendimiento.

Causa

Notification Services no pudo actualizar los contadores de rendimiento. Notification Services intentará actualizar los contadores en el siguiente intervalo de cuanto.

Si este error se produce reiteradamente, es probable que los contadores de rendimiento de Notification Services estén dañados y que no se puedan actualizar hasta que se solucionen los daños. Hay diversas razones por las que pueden producirse daños: entre otras, una entrada dañada en el Registro y problemas en otras DLL de supervisión de rendimiento.

Solución

Si no necesita que los contadores de rendimiento de Windows se actualicen, puede omitir esta advertencia sin ningún problema. Para obtener la solución recomendada e información adicional, vea el artículo de Knowledge Base acerca de la resolución contadores de rendimiento dañados de Notification Services.

Vea también

Tareas

Visualizar eventos de Notification Services

Conceptos

Formato de eventos de Notification Services

Otros recursos

Errores y eventos de Notification Services
Usar mensajes de eventos

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se agregó la lista de los mensajes de eventos más comunes y sus soluciones.