sql 服务器 2012 - 无法在 select 上授予多语句 table 值函数

sql server 2012 - can't grant on select on multi-statement table-valued function

这是我的第一个问题,所以我说:你好!

我有一个多语句 table 值函数(称为 fn),它(当然)return 是一个 table。 我还创建了一个数据库角色(称为 dbr)。

我尝试添加权限 我的 dbr 可以 select 从我的 fn.

所以我打开了 dbr,将我的 fn 添加到 securables,授予 Select 然后我得到一个错误:密钥不能为空。参数名称:key (mscorelib)

这有点奇怪,因为在我的 fn 中我有 return-table-变量上的主键,而且键不能为空。具体来说,关键是用三个字段构建:dateFrom、dateTo、article

功能完美,但我无法将其提供给我的 dbr 会员。

有什么建议吗?

可能是 Management Studio 未打补丁的 bug 或者你点错了地方,为什么不用 T-SQL 呢?

grant select on dbo.fn to dbr