Condividi tramite


Autorizzazioni relative alle notifiche delle query

L'utente del database che esegue un comando contenente una richiesta di sottoscrizione di notifica deve disporre dell'autorizzazione SUBSCRIBE QUERY NOTIFICATIONS per il database in cui viene eseguito il comando. Nell'esempio seguente viene illustrata la sintassi dell'istruzione GRANT.

use dbname
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO database_principal

Una sottoscrizione di notifica è di proprietà dell'entità di database che ha eseguito il comando con cui è stata registrata la sottoscrizione. Quando il database elimina un'entità, le sottoscrizioni di notifica appartenenti a tale entità vengono rimosse senza generare alcun messaggio di notifica. L'operazione di eliminazione produce tuttavia un avviso contenente il numero di sottoscrizioni di notifica delle query eliminate per effetto del comando DROP.

L'entità che crea la notifica deve disporre delle autorizzazioni seguenti per il database dove viene eseguita la query per creare correttamente una notifica utilizzando SqlDependency:

  • CREATE SERVICE

  • CREATE QUEUE

  • CREATE PROCEDURE

Per ricevere notifiche, il sottoscrittore deve disporre di autorizzazioni RECEIVE per QueryNotificationErrorsQueue del database di sottoscrizione.

GRANT RECEIVE ON QueryNotificationErrorsQueue TO login

È anche necessaria l'autorizzazione SEND per il servizio di destinazione:

GRANT SEND ON SERVICE:://theservice to login

L'utente che esegue la query deve disporre dell'autorizzazione SELECT per le tabelle a cui si accede per le notifiche.

Per ulteriori informazioni, vedere Procedure per l'amministrazione (Service Broker).

Vedere anche

Concetti