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:
|
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