2017-05-11 18 views
1

這是我的第一個問題,所以我說:hallo!sql server 2012 - 無法授予多語句表值函數的選擇

我有一個多語句表值函數(稱爲fn)哪(當然)返回一個表。 我還創建了一個數據庫角色(稱爲dbr)。我試圖添加權限 我的dbr可以從我的fn中選擇。

因此,我打開了dbr,將我的fn添加到了securables中,在Select上授予並且出現錯誤:密鑰不能爲空。參數名稱:key(mscorelib)

這有點奇怪,在我的fn中導致我有返回表變量的主鍵,而且鍵不能爲空。具體的關鍵是建立三個領域:dateFrom,dateTo,文章

功能完美,但我不能讓它提供給我的dbr成員。

任何消耗?

+0

是你意識到了這一點:https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-clause-transact-sql –

+0

功能和相同的存儲過程,應該授予執行權限。 – Wendy

回答

0

可能是未打補丁的Management Studio的錯誤,或者您在錯誤的地方點擊,爲什麼不使用T-SQL呢?

grant select on dbo.fn to dbr 
+0

你說得對,它可能缺少補丁問題 - 我不是服務器管理員。所以,finnaly它適用於T-SQL而不是SQL MS.Thanks! – mtz