查询通知权限

更新日期: 2006 年 4 月 14 日

如果数据库用户执行的命令包含通知订阅请求,则必须为此用户授予对执行命令所在数据库的 SUBSCRIBE QUERY NOTIFICATIONS 权限。下面的示例显示了 GRANT 语句的语法。

use dbname
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO database_principal

通知订阅由执行注册了订阅的命令的数据库主体所拥有。当数据库删除主体时,便会删除主体所拥有的通知订阅,而不生成通知消息。但是,删除操作会生成一条警告,其中包含由 DROP 命令删除的查询通知订阅的计数。

创建通知的主体必须对运行查询的数据库具有下列权限才能使用 SqlDependency 成功创建通知:

  • CREATE SERVICE
  • CREATE QUEUE
  • CREATE PROCEDURE

若要接收通知,订阅用户必须对订阅数据库的 QueryNotificationErrorsQueue 具有 RECEIVE 权限。

GRANT RECEIVE ON QueryNotificationErrorsQueue TO login

您还需要目标设备的 SEND 权限:

GRANT SEND ON SERVICE:://theservice to login

运行查询的用户必须对要访问通知的表具有 SELECT 权限。

有关详细信息,请参阅 Service Broker 操作指南主题

请参阅

概念

主体

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2006 年 4 月 14 日

已更改的内容:
  • 已将主体引用从登录名或服务器主体更改为数据库主体。