我有一個數據庫,我需要連接並從中進行選擇。我有一個SQL登錄,我們稱之爲myusername。當我用下面,沒有SELECT權限顯示出來:SQL Select權限
SELECT * FROM fn_my_permissions ('dbo.mytable', 'OBJECT')
GO
有好幾次我試過的東西,如:
USE mydatabase
GO
GRANT SELECT TO myusername
GO
GRANT SELECT ON DATABASE::mydatabase TO myusername
GO
GRANT SELECT ON mytable TO myusername
GO
報告說,查詢成功執行,但從來沒有在第一個查詢有什麼區別。我缺少授予數據庫級別選擇權限的簡單方法。
作爲一個說明,我做了兩次確認這是正確的用戶,正確的數據庫,並且我已經嘗試授予表級選擇權限。到目前爲止,我不斷收到錯誤:
SELECT permission denied on object 'mytable', database 'mydatabase', schema 'dbo'.
任何想法我失蹤?提前致謝。
編輯/ UPDATE:
在右鍵單擊SQL用戶在SQL Server Management Studio的2008年,我發現每一個數據庫角色檢查,包括db_denydatareader和擁有db_datareader ......可能這會阻止我的授予權限的能力在數據庫級別?如果是這樣,db_denydatareader的目的是什麼?對我來說,在查詢權限時無法查看'DENY'似乎很愚蠢。
摘要: 果然,這已修復它。
你應該發佈你的編輯/更新爲接受的答案=) – ajdams 2010-05-25 21:25:39
你需要你的dba來修復你的權限。 – HLGEM 2010-05-25 21:27:33