如何为用户(已经是dbo)授予存储过程的执行权限以运行SSRS报告

时间:2015-03-27 02:45:39

标签: sql sql-server-2008 ssrs-2008 ssrs-2008-r2

我是新手。 我已经获得了dbo许可。我编写了一个存储过程来将记录插入到某个表中,并设计了执行此存储过程的SSRS报告(用于添加记录的UI)。 我们中的5个人拥有dbo权限,如何在5个用户(已经拥有dbo权限)中仅向1个用户(Me)授予“执行”权限? 即在内联网上部署SSRS报告(进而执行存储过程)时,我希望仅由1个用户(Me)执行。 谢谢。

2 个答案:

答案 0 :(得分:0)

有一些依赖关系,我做的假设是你使用的是Windows,你可以在你正在部署的盒子上设置Datasources吗?

在这种情况下 - 确保设置数据源以使用运行报告的人员的Windows凭据运行? enter image description here

一旦你有了,你可以将UserID作为参数传递给你的存储过程

User!UserID

然后你可以测试你的用户是否在SP中。

 if SYSTEM_USER = @username
      Insert into xxx...

答案 1 :(得分:0)

旧线程,但是我每天都在处理这个问题,也许其他人将来会来找这个。我将假设您的服务器部署文件夹具有创建和部署数据源的权限。您部署的数据源可以使用Windows登录名。但是,通常在部署SSRS时,将授予执行设置为存储过程底部的组。您可以让Windows sys admin将您添加到新的组/服务帐户,如果您添加更多人员,将来可以扩展。

GO

在[dbo]上执行。[proc名称]到[some_role]

GO

这实际上取决于组织的规模。一家小型企业可能只是将事情凑在一起以使它们正常工作,或者就我而言,一家大型金融机构将拥有严格的安全保护,我们必须遵守政策,否则审计会很有趣。 -尼克