sys.dm_qn_subscriptions
Data aggiornamento: 12 dicembre 2006
Restituisce informazioni sulle sottoscrizioni di notifica delle query attive nel server. È possibile utilizzare questa vista per individuare le sottoscrizioni attive nel server o in un database specificato oppure per individuare un'entità server specificata.
Nome colonna
Tipo di dati
Descrizione
id
int
ID di una sottoscrizione.
database_id
int
ID del database in cui la query di notifica viene eseguita. In questo database vengono archiviate le informazioni relative alla sottoscrizione.
sid
varbinary(85)
ID di protezione (SID) dell'entità server che ha creato la sottoscrizione e di cui è proprietaria.
object_id
int
ID della tabella interna in cui sono archiviate le informazioni sui parametri di sottoscrizione.
created
datetime
Data e ora di creazione della sottoscrizione.
timeout
int
Timeout della sottoscrizione. La notifica verrà contrassegnata per l'esecuzione non appena è trascorso l'intervallo di tempo specificato.
Nota:
È possibile che l'ora di esecuzione effettiva sia maggiore del timeout specificato. Se, tuttavia, si verifica una modifica che invalida la sottoscrizione dopo il timeout specificato ma prima dell'esecuzione della sottoscrizione, SQL Server fa sì che l'esecuzione si verifichi in corrispondenza dell'ora in cui viene apportata la modifica.
status
int
Indica lo stato della sottoscrizione.
Cardinalità delle relazioni
Da | A | In | Tipo |
---|---|---|---|
sys.dm_qn_subscriptions |
sys.databases |
database_id |
Molti-a-uno |
sys.dm_qn_subscriptions |
sys.internal_tables |
object_id |
Molti-a-uno |
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE nel server.
[!NOTA] Se l'utente non dispone dell'autorizzazione VIEW SERVER STATE, questa vista restituisce informazioni sulle sottoscrizioni di proprietà dell'utente corrente.
Esempi
A. Restituzione delle sottoscrizioni di notifica delle query attive per l'utente corrente
Nell'esempio seguente vengono restituite le sottoscrizioni di notifica delle query attive per l'utente corrente. Se l'utente dispone delle autorizzazioni VIEW SERVER STATE, vengono restituite tutte le sottoscrizioni attive nel server.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO
B. Restituzione delle sottoscrizioni di notifica delle query attive per un utente specificato
Nell'esempio seguente vengono restituite le sottoscrizioni di notifica delle query attive per l'account di accesso Ruth0
.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO
C. Restituzione dei metadati delle tabelle interne per le sottoscrizioni di notifica delle query
Nell'esempio seguente vengono restituiti i metadati delle tabelle interne per le sottoscrizioni di notifica delle query.
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
Vedere anche
Riferimento
Funzioni e viste a gestione dinamica
Viste a gestione dinamica relative alle notifiche delle query
KILL QUERY NOTIFICATION SUBSCRIPTION (Transact-SQL)
Altre risorse
Utilizzo della notifica delle query
Tabelle interne
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
12 dicembre 2006 |
|