我正在使用sql server 2008 r2。授予或撤銷的權限RECEIVE與對象不兼容
這是我的代碼
GRANT RECEIVE ON dbo.tranferToSIP TO UserName
我得到這個錯誤信息:
Granted or revoked privilege RECEIVE is not compatible with object.
我正在使用sql server 2008 r2。授予或撤銷的權限RECEIVE與對象不兼容
這是我的代碼
GRANT RECEIVE ON dbo.tranferToSIP TO UserName
我得到這個錯誤信息:
Granted or revoked privilege RECEIVE is not compatible with object.
一旦嘗試這種
Grant select
ON dbo.tranferToSIP
TO UserName
那個用戶名是數據庫的管理員,他已經有了select,我問的是接收盛大的。 –
我不認爲'RECEIVE'是表的有效權限。所有的評論和教程都說它是這樣的,但它似乎與QUEUE而不是TABLE一起工作。該documentation顯示,預計隊列,而不是一個表,並試圖從表RECEIVE提供了一個錯誤:
CREATE QUEUE SampleQueue;
RECEIVE * FROM SampleQueue -- works
CREATE TABLE SampleTable (ID int identity(1, 1), Name varchar(80));
RECEIVE * FROM SampleTable -- Invalid object name 'SampleTable'.
的SqlDependency創建自己的隊列,而不授予的接收和發送的權限爲我工作運行示例(我也必須改變它,以便添加消息按鈕被啓用)。我不知道你是如何在由SqlDependency創建的隊列上取得盛大權限,因爲它被命名爲'SqlQueryNotificationService-d6e60909-be13-4f9c-bb01-59efb5d1a99b'。它也會自動創建一個存儲過程和服務。
select * from sys.service_queues where name like 'SqlQuery%'
select * from sys.services where name like 'SqlQuery%'
select * from sys.procedures where name like 'SqlQuery%'
我在GitHub上創建了一個simple console project,如果你想看到的。你只需要運行一個本地的sql server(express很好),它會創建一個Test數據庫,ENABLE_BROKER,創建一個Messages表,並使用SqlDependency進行查詢,當重新查詢並顯示前5條消息時一個添加(或者從節目或通過手動執行它在查詢分析儀)
我已經創建的角色,以執行存儲過程,並試圖授予執行權限表。檢查表是否需要執行權限。在我的情況下,它不需要授予表的權限,我們不執行表。 :)
根據錯誤消息,是'dbo.tranferToSIP'表或服務代理隊列,而不是說,視圖或存儲過程?嘗試'SELECT type_desc FROM sys.objects WHERE object_id = OBJECT_ID('dbo.tranferToSIP')'確認。 –
@JeroenMostert這是一張桌子。但是當我執行你的commad,這是'選擇type_desc FROM sys.objects中WHERE OBJECT_ID = OBJECT_ID(「dbo.tranferToSIP」)'我得到空的結果 –
@JeroenMostert請您在這裏可以http://stackoverflow.com/檢查我的問題question/28721210/how-to-keep-sql-dependency-doing-the-its-purpose從昨天開始,沒有人回答我 –