sys.dm_qn_subscriptions
Aktualisiert: 12. Dezember 2006
Gibt Informationen zu den aktiven Abfragebenachrichtigungsabonnements auf dem Server zurück. Diese Sicht können Sie verwenden, um in der Serverdatenbank oder in einer angegebenen Datenbank eine Überprüfung auf aktive Abonnements vorzunehmen oder um auf eine Überprüfung auf einen angegebenen Serverprinzipal vorzunehmen.
Spaltenname
Datentyp
Beschreibung
id
int
ID eines Abonnements.
database_id
int
ID der Datenbank, für die die Abfragebenachrichtigung ausgeführt wurde. In dieser Datenbank sind die mit diesem Abonnement verbundenen Informationen gespeichert.
sid
varbinary(85)
Sicherheits-ID des Serverprinzipals, der dieses Abonnement erstellt hat und besitzt.
object_id
int
ID der internen Tabelle, in der die Informationen zu Abonnementparametern gespeichert sind.
created
datetime
Datum und Uhrzeit des Zeitpunktes, an dem das Abonnement erstellt wurde.
timeout
int
Timeout für das Abonnement. Die Benachrichtigung wird ausgelöst, nachdem diese Zeit verstrichen ist.
Hinweis:
Die tatsächliche Zeit der Auslösung kann größer sein als das angegebene Timeout. Wenn jedoch eine Änderung, die das Abonnement ungültig macht, nach dem angegebenen Timeout und vor dem Auslösen des Abonnements auftritt, wird von SQL Server sichergestellt, dass das Auslösen zu dem Zeitpunkt erfolgt, an dem die Änderung vorgenommen wurde.
status
int
Zeigt den Status des Abonnements an.
Kardinalität der Beziehungen
Von | In | Für | Typ |
---|---|---|---|
sys.dm_qn_subscriptions |
sys.databases |
database_id |
m:1 |
sys.dm_qn_subscriptions |
sys.internal_tables |
object_id |
m:1 |
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
![]() |
---|
Falls der Benutzer die VIEW SERVER STATE-Berechtigung nicht besitzt, gibt diese Sicht Informationen zu Abonnements zurück, die sich im Besitz des aktuellen Benutzers befinden. |
Beispiele
A. Zurückgeben aktiver Abfragebenachrichtigungsabonnements für den aktuellen Benutzer
Im folgenden Beispiel werden die aktiven Abfragebenachrichtigungsabonnements des aktuellen Benutzers zurückgegeben. Wenn der Benutzer über VIEW SERVER STATE-Berechtigungen verfügt, werden alle aktiven Abonnements auf dem Server zurückgegeben.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO
B. Zurückgeben aktiver Abfragebenachrichtigungsabonnements für einen angegebenen Benutzer
Im folgenden Beispiel werden die aktiven Abfragebenachrichtigungsabonnements zurückgegeben, die vom Anmeldenamen Ruth0
abonniert wurden.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO
C. Zurückgeben der Metadaten interner Tabellen für Abfragebenachrichtigungsabonnements
Im folgenden Beispiel werden die Metadaten interner Tabellen für Abfragebenachrichtigungsabonnements zurückgegeben.
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
Siehe auch
Verweis
Dynamische Verwaltungssichten und -funktionen
Mit Abfragebenachrichtigungen verbundene dynamische Verwaltungssichten
KILL QUERY NOTIFICATION SUBSCRIPTION (Transact-SQL)
Andere Ressourcen
Verwenden von Abfragebenachrichtigungen
Interne Tabellen
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
12. Dezember 2006 |
|