Partager via


sys.dm_qn_subscriptions

Mis à jour : 12 décembre 2006

Retourne des informations sur les abonnements aux notifications de requêtes actifs dans le serveur. Vous pouvez utiliser cette vue pour vérifier les abonnements actifs dans le serveur ou une base de données spécifiée, ou pour vérifier une entité de sécurité de serveur.

Nom de la colonne

Type de données

Description

id

int

ID d'un abonnement.

database_id

int

ID de la base de données dans laquelle la requête de notification a été exécutée. Cette base de données stocke les informations relatives à cet abonnement.

sid

varbinary(85)

ID de sécurité de l'entité de sécurité du serveur qui a créé cet abonnement et qui en est propriétaire.

object_id

int

ID de la table interne qui stocke les informations sur les paramètres de l'abonnement.

créé

datetime

Date et heure de création de l'abonnement.

timeout

int

Délai d'expiration de l'abonnement. La notification est marquée pour se déclencher après ce délai.

ms187793.note(fr-fr,SQL.90).gifRemarque :

Le temps de déclenchement réel peut être supérieur au délai d'expiration spécifié. Cependant, si une modification qui invalide l'abonnement a lieu après le délai d'expiration, mais avant le déclenchement de l'abonnement, SQL Server fait en sorte que le déclenchement ait lieu au moment de la modification.

status

int

Indique l'état de l'abonnement.

Cardinalités de la relation

De Pour On (Actif) Type de planification

sys.dm_qn_subscriptions

sys.databases

database_id

Plusieurs-à-un

sys.dm_qn_subscriptions

sys.internal_tables

object_id

Plusieurs-à-un

Autorisations

Nécessite l'autorisation VIEW SERVER STATE sur le serveur.

ms187793.note(fr-fr,SQL.90).gifRemarque :
Si l'utilisateur n'a pas l'autorisation VIEW SERVER STATE, cette vue retourne des informations sur les abonnements qui appartiennent à l'utilisateur actuel.

Exemples

A. Retour des abonnements aux notifications de requêtes actives pour l'utilisateur actif

L'exemple suivant retourne les abonnements aux notifications de requêtes actives de l'utilisateur actif. Si l'utilisateur possède les autorisations VIEW SERVER STATE, tous les abonnements actifs du serveur sont retournés.

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

B. Retour des abonnements aux notifications de requêtes actives pour un utilisateur spécifié

L'exemple suivant retourne les abonnements aux notifications de requêtes actives auxquelles souscrit la connexion Ruth0.

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

C. Retour des métadonnées des tables internes pour les abonnements aux notifications de requêtes

L'exemple suivant retourne les métadonnées des tables internes pour les abonnements aux notifications de requêtes.

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

Voir aussi

Référence

Fonctions et vues de gestion dynamique
Vues de gestion dynamique liées aux notifications de requête
KILL QUERY NOTIFICATION SUBSCRIPTION (Transact-SQL)

Autres ressources

Utilisation des notifications de requêtes
Tables internes

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout des sections Exemples et Cardinalités des relations.