NS<nombreDeClaseDeNotificación>NotificationDistribution (vista)

Combina datos de varias tablas internas de Microsoft SQL Server Notification Services para proporcionar información sobre los intentos de distribución de notificaciones. Notification Services crea una vista para cada clase de notificación utilizando la siguiente convención de nomenclatura: NSnombreDeClaseDeNotificaciónNotificationDistribution.

Por ejemplo, el ejemplo Stock incluido con Notification Services tiene dos clases de notificaciones: StockNotifications y PortfolioNotifications. Las vistas asociadas se denominan NSStockNotificationsNotificationDistribution y NSPortfolioNotificationsNotificationDistribution.

Las vistas NSnombreDeClaseDeNotificaciónNotificationDistribution contienen las columnas que se muestran en la tabla siguiente.

Columna Tipo de datos Descripción

NotificationId

bigint

Número de Id. de la notificación.

DeliveryChannelName

nvarchar (255)

Nombre del canal de entrega utilizado para entregar la notificación.

DistributorName

nvarchar(255)

Nombre del distribuidor utilizado para entregar la notificación.

DeliveryRequestTime

datetime

Fecha y hora en que el distribuidor pasó los datos de las notificaciones al protocolo de entrega para su entrega.

SentTime

datetime

Hora a la que se envió la notificación realmente.

DeliveryStatusDescription

nvarchar(255)

Estado del intento de entrega: no se ha intentado, ha sido correcta o ha generado errores. Para obtener más información, vea la sección Notas.

DeliveryStatusInfo

nvarchar(2048)

Mensaje de estado que el protocolo de entrega devuelve al distribuidor al informar sobre el estado de la notificación. Normalmente, se utiliza para informar del motivo del error. NULL indica que no se ha enviado ningún mensaje de estado.

NotificationText

nvarchar(2048)

Texto de la notificación.

SubscriberId

nvarchar(255)

Id. del suscriptor de la notificación.

DeviceName

nvarchar(255)

Nombre del dispositivo de entrega especificado en la suscripción.

SubscriberLocale

nvarchar(10)

Configuración regional del suscriptor de la notificación.

Campos de clase de notificación (1-n)

application-defined

En esta vista aparecen también todas las columnas especificadas en la clase de notificación.

LinkNotificationId

bigint

Id. de la primera notificación incluida en el resumen al utilizar la entrega de resumen. Las notificaciones posteriores del resumen contienen este Id. NULL indica que la notificación no es una notificación posterior en una entrega de resumen.

Notas

Las vistas NSnombreDeClaseDeNotificaciónNotificationDistribution se encuentran en las bases de datos de aplicación.

La cantidad de datos disponibles en la vista se controlan por aplicación, mediante la configuración de registro del distribuidor en la definición de la aplicación. Esta configuración de ejecución de aplicación controla lo que se escribe en el registro de distribución y, por tanto, qué está disponible para esta vista. Para obtener más información, vea Configurar el registro de distribuidor.

Una sola notificación puede tener varias filas en la vista NSnombreDeClaseDeNotificaciónNotificationDistribution, una para cada intento de entrega. Por ejemplo, si se intenta entregar una notificación tres veces (las dos primeras con error y la tercera correctamente), la notificación tendrá tres filas en la vista hasta que el proceso de supresión de datos (Vacuuming) quite los datos.

Use la columna DeliveryStatusDescription para determinar el estado de entrega de la notificación. La tabla siguiente contiene descripciones de los códigos de estado.

Valor de DeliveryStatusDescription Descripción

Entrega no intentada: primer intento pendiente

El distribuidor todavía no ha intentado entregar la notificación. La razón puede ser la configuración de la aplicación, que hay un registro de notificaciones pendientes por distribuir, un problema de distribución (por ejemplo, que el distribuidor está deshabilitado) o demasiados errores (situación que se controla mediante FailuresBeforeAbort).

Entrega realizada

El protocolo de entrega ha devuelto un valor que indica que la entrega ha sido correcta.

Entrega no realizada

Se ha producido uno de los eventos siguientes:

  • Un error en el paso de formato de contenido.
  • Un error al llamar al protocolo de entrega.
  • Un error de entrega comunicado por el protocolo de entrega.

Para solucionar los problemas de entregas no realizadas, busque los mensajes de error del registro de aplicación en el Visor de sucesos de Microsoft Windows. Tenga en cuenta que se pueden registrar varios errores para una misma entrega no realizada; lea la descripción de cada mensaje de error de Notification Services.

Permisos

Esta vista está disponible para los miembros de las funciones de servidor sysadmin y db_owner, y la función NSAnalysis de Notification Services.

Ejemplos

Ejecute la consulta siguiente en el ejemplo Stock para determinar si se han producido errores en los intentos de entrega de notificaciones:

USE StockInstanceStock;
SELECT NotificationId, DeliveryStatusInfo 
FROM NSStockNotificationsNotificationDistribution
WHERE DeliveryStatusDescription = N'Delivery failed';

La consulta anterior devuelve todas las notificaciones no realizadas que no se han quitado en el proceso de supresión de datos (Vacuuming). Si una notificación ha tenido varios intentos de entrega con errores, la consulta devuelve una fila por cada error.

Para devolver una lista con las notificaciones del ejemplo Stock que han generado uno o más errores, ejecute la consulta siguiente:

USE StockInstanceStock;
SELECT DISTINCT(NotificationId) 
FROM NSStockNotificationsNotificationDistribution
WHERE DeliveryStatusDescription = N'Delivery failed';

Vea también

Referencia

Vistas de Notification Services

Otros recursos

Configurar el registro de distribuidor

Ayuda e información

Obtener ayuda sobre SQL Server 2005