Compartir a través de


sys.dm_qn_subscriptions

Actualizado: 12 de diciembre de 2006

Devuelve información acerca de las suscripciones de notificaciones de consultas activas en el servidor. Puede usar esta vista para comprobar si hay suscripciones activas en el servidor o en una base de datos especificada, o para comprobar una entidad de seguridad de servidor especificada.

Nombre de columna

Tipo de datos

Descripción

id

int

Id. de una suscripción.

database_id

int

Id. de la base de datos en la que se ha ejecutado la notificación. Esta base de datos almacena información relacionada con esta suscripción.

sid

varbinary(85)

Id. de seguridad de la entidad de seguridad del servidor que creó y es propietaria de esta suscripción.

object_id

int

Id. de la tabla interna que almacena información acerca de los parámetros de suscripción.

created

datetime

Fecha y hora en que se creó la suscripción.

tiempo de espera

int

Tiempo de espera de la suscripción. La notificación se marcará para activarse después de transcurrido este tiempo.

ms187793.note(es-es,SQL.90).gifNota:

El tiempo de activación real puede ser mayor que el tiempo de espera especificado. No obstante, si tiene lugar un cambio que invalida la suscripción después el tiempo de espera especificado, pero antes de que se active la suscripción, SQL Server garantiza que la activación tiene lugar en el momento en que se realiza el cambio.

status

int

Indica el estado de la suscripción.

Cardinalidades de relación

De Para En Tipo

sys.dm_qn_subscriptions

sys.databases

database_id

Varios a uno

sys.dm_qn_subscriptions

sys.internal_tables

object_id

Varios a uno

Permisos

Requiere el permiso VIEW SERVER STATE en el servidor.

[!NOTA] Si el usuario no tiene el permiso VIEW SERVER STATE, esta vista devuelve información acerca de suscripciones que son propiedad del usuario actual.

Ejemplos

A. Devolver las suscripciones de notificación de consultas activas del usuario actual

En el ejemplo siguiente se devuelven las suscripciones de notificación de consultas activas del usuario actual. Si el usuario tiene permisos VIEW SERVER STATE, se devuelven todas las suscripciones activas del servidor.

SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO

B. Devolver las suscripciones de notificación de consultas activas del usuario especificado

En el ejemplo siguiente se devuelven las suscripciones de notificación de consultas activas suscritas por el inicio de sesión Ruth0.

SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO

C. Devolver los metadatos de las tablas internas para las suscripciones de notificación de consultas

En el ejemplo siguiente se devuelven los metadatos de la tabla interna para las suscripciones de notificación de consultas.

SELECT qn.id AS query_subscription_id
    ,it.name AS internal_table_name
    ,it.object_id AS internal_table_id
FROM sys.internal_tables AS it
JOIN sys.dm_qn_subscriptions AS qn ON it.object_id = qn.object_id
WHERE it.internal_type_desc = 'QUERY_NOTIFICATION';
GO

Vea también

Referencia

Funciones y vistas de administración dinámica
Vistas de administración dinámica relacionadas con notificaciones de consulta
KILL QUERY NOTIFICATION SUBSCRIPTION (Transact-SQL)

Otros recursos

Usar notificaciones de consulta
Tablas internas

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido nuevo:
  • Se han agregado las secciones Cardinalidades de relación y Ejemplos.