Permisos de notificaciones de consulta

Actualizado: 14 de abril de 2006

El usuario de base de datos que ejecuta un comando que contiene una solicitud de suscripción a notificaciones debe tener el permiso SUBSCRIBE QUERY NOTIFICATIONS para la base de datos donde se ejecuta el comando. El ejemplo siguiente muestra la sintaxis de la instrucción GRANT.

use dbname
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO database_principal

Una suscripción a notificaciones es propiedad de la entidad de seguridad de base de datos que ejecutó el comando que registró la suscripción. Cuando la base de datos quita una entidad de seguridad, las suscripciones a notificaciones propiedad de esa entidad de seguridad se eliminan sin generar ningún mensaje de notificación. Sin embargo, esta operación de eliminación produce una advertencia que contiene un recuento del número de suscripciones a notificaciones de consulta que se han quitado como resultado del comando DROP.

La entidad de seguridad que crea la notificación debe tener los siguientes permisos en la base de datos en la que se ejecuta la consulta para poder crear correctamente una notificación mediante SqlDependency:

  • CREATE SERVICE
  • CREATE QUEUE
  • CREATE PROCEDURE

Para recibir notificaciones, el usuario suscrito debe tener permisos RECEIVE en QueryNotificationErrorsQueue de la base de datos suscrita.

GRANT RECEIVE ON QueryNotificationErrorsQueue TO login

También se necesita el permiso SEND en el servicio de destino:

GRANT SEND ON SERVICE:://theservice to login

El usuario que ejecuta la consulta debe tener el permiso SELECT para las tablas a las que se accede para las notificaciones.

Para obtener más información, vea Temas de procedimientos de Service Broker.

Vea también

Conceptos

Entidades de seguridad

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

14 de abril de 2006

Contenido modificado:
  • Se cambiaron las referencias de la entidad de seguridad desde el inicio de sesión o la entidad de seguridad del servidor a la entidad de seguridad de la base de datos.