【问题标题】:How to grant a execute permission on stored procedure for an user(Already dbo) to run a SSRS report如何为用户(已经 dbo)授予存储过程的执行权限以运行 SSRS 报告
【发布时间】:2015-03-27 02:45:39
【问题描述】:

我是新手。 我已经有 dbo 权限。我编写了一个存储过程来将记录插入到某个表中,并设计了执行此存储过程的 SSRS 报告(添加记录的 UI)。 我们中的 5 个人拥有 dbo 权限,我怎样才能向 5 个用户中的 1 个用户(我)授予“执行”权限(已经拥有 dbo 权限)? 即在 Intranet 上部署 SSRS 报告(进而执行存储过程)时,我希望它只能由 1 个用户(我)执行。 谢谢。

【问题讨论】:

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


    【解决方案1】:

    有一些依赖关系,我假设您使用的是 Windows,并且您能够在要部署的机器上设置数据源?

    是这样 - 确保将数据源设置为使用运行报告的人的 Windows 凭据运行?

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

    User!UserID
    

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

     if SYSTEM_USER = @username
          Insert into xxx...
    

    【讨论】:

      【解决方案2】:

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

      将 [dbo].[proc name] 上的执行权限授予 [some_role]

      这完全取决于您组织的规模。一家小型企业可能只是将一些东西拼凑在一起以使其正常工作,或者在我的情况下,大型金融机构将拥有严格的安全措施,我们必须遵守政策,否则审计将与我们一起玩。 -尼克

      【讨论】:

        猜你喜欢
        • 2014-11-12
        • 2014-08-21
        • 1970-01-01
        • 1970-01-01
        • 2011-03-23
        • 1970-01-01
        • 2011-07-22
        • 1970-01-01
        • 2017-10-07
        相关资源
        最近更新 更多