Condividi tramite


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.

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

È 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

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiunta delle sezioni Cardinalità delle relazioni ed Esempi.