如何为用户(已经 dbo)授予存储过程的执行权限以运行 s-s-rS 报告
Posted
技术标签:
【中文标题】如何为用户(已经 dbo)授予存储过程的执行权限以运行 s-s-rS 报告【英文标题】:How to grant a execute permission on stored procedure for an user(Already dbo) to run a s-s-rS report 【发布时间】:2015-03-27 02:45:39 【问题描述】:我是新手。 我已经有 dbo 权限。我编写了一个存储过程来将记录插入到某个表中,并设计了执行此存储过程的 s-s-rS 报告(添加记录的 UI)。 我们中的 5 个人拥有 dbo 权限,我怎样才能向 5 个用户中的 1 个用户(我)授予“执行”权限(已经拥有 dbo 权限)? 即在 Intranet 上部署 s-s-rS 报告(进而执行存储过程)时,我希望它只能由 1 个用户(我)执行。 谢谢。
【问题讨论】:
【参考方案1】:有一些依赖关系,我假设您使用的是 Windows,并且您能够在要部署的机器上设置数据源?
是这样 - 确保将数据源设置为使用运行报告的人的 Windows 凭据运行?
一旦你知道了,你就可以将 UserID 作为参数传递给你的存储过程
User!UserID
然后你可以在SP中测试它是否是你的用户。
if SYSTEM_USER = @username
Insert into xxx...
【讨论】:
【参考方案2】:旧线程,但我每天都会处理这个问题,也许将来会有其他人来寻找这个问题。我将假设您的服务器部署文件夹具有创建和部署数据源的权限。您部署的数据源可以使用您的 Windows 登录。但是,通常在部署 s-s-rS 时,授权执行设置为存储过程底部的组。您可以让您的 Windows 系统管理员将您添加到一个新的组/服务帐户,如果您添加更多的人,该帐户将在未来进行扩展。
去
将 [dbo].[proc name] 上的执行权限授予 [some_role]
去
这完全取决于您组织的规模。一家小型企业可能只是将一些东西拼凑在一起以使其正常工作,或者在我的情况下,大型金融机构将拥有严格的安全措施,我们必须遵守政策,否则审计将与我们一起玩。 -尼克
【讨论】:
以上是关于如何为用户(已经 dbo)授予存储过程的执行权限以运行 s-s-rS 报告的主要内容,如果未能解决你的问题,请参考以下文章