Sql server sql server 2012-无法授予select on多语句表值函数

Sql server sql server 2012-无法授予select on多语句表值函数,sql-server,function,user-defined-functions,grant,role,Sql Server,Function,User Defined Functions,Grant,Role,这是我的第一个问题,所以我说:你好 我有一个名为fn的多语句表值函数,它当然返回一个表。 我还创建了一个名为dbr的数据库角色 我试图添加权限 我的dbr可以从我的fn中选择 所以我打开了dbr,将我的fn添加到securables,在Select上授予权限,我得到一个错误:Key不能为null。参数名称:key mscorelib 这有点奇怪,因为在我的fn中,我在返回表变量上有主键,而且键不能为null。具体来说,键由三个字段构成:dateFrom、dateTo、article 这个函数工作

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

我有一个名为fn的多语句表值函数,它当然返回一个表。 我还创建了一个名为dbr的数据库角色

我试图添加权限 我的dbr可以从我的fn中选择

所以我打开了dbr,将我的fn添加到securables,在Select上授予权限,我得到一个错误:Key不能为null。参数名称:key mscorelib

这有点奇怪,因为在我的fn中,我在返回表变量上有主键,而且键不能为null。具体来说,键由三个字段构成:dateFrom、dateTo、article

这个函数工作得很好,但我不能让我的dbr成员使用它


有什么建议吗?

可能是未经修补的Management Studio的错误,或者您单击的位置不正确,为什么不改用t-SQL

grant select on dbo.fn to dbr

您是否知道:函数和存储过程一样,应该授予执行权限。您是对的,这可能是缺少修补程序的问题-我不是服务器管理员。最后,它可以与T-SQL一起使用,而不是与SQL一起使用。谢谢!