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