sql server 2012 - 无法授予对多语句表值函数的选择
Posted
技术标签:
【中文标题】sql server 2012 - 无法授予对多语句表值函数的选择【英文标题】:sql server 2012 - can't grant on select on multi-statement table-valued function 【发布时间】:2017-10-10 07:16:50 【问题描述】:这是我的第一个问题,所以我说:你好!
我有一个多语句表值函数(称为 fn),它(当然)返回一个表。 我还创建了一个数据库角色(称为 dbr)。
我尝试添加权限 我的 dbr 可以从我的 fn 中选择。
所以我打开了 dbr,将我的 fn 添加到安全对象,授予 Select 并且我收到一个错误:密钥不能为空。参数名称:key(mscorelib)
这有点奇怪,因为在我的 fn 中,我在返回表变量上有主键,而且键不能为空。具体的键是用三个字段构建的:dateFrom、dateTo、article
功能完美运行,但我无法将其提供给我的 dbr 成员。
有什么建议吗?
【问题讨论】:
您知道吗:docs.microsoft.com/en-us/sql/t-sql/statements/… 功能和存储过程一样,应该授予执行权限。 【参考方案1】:可能是没有打补丁的Management Studio的bug或者你点错地方了,为什么不用T-SQL代替呢?
grant select on dbo.fn to dbr
【讨论】:
你说得对,它可能是缺少补丁问题 - 我不是服务器管理员。所以,最后它适用于 T-SQL 而不是 SQL MS。谢谢!以上是关于sql server 2012 - 无法授予对多语句表值函数的选择的主要内容,如果未能解决你的问题,请参考以下文章
我们如何分配权限来设置 SQL Server Reporting Services
如何向 sql server 用户授予 sendmail 权限?