Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何授予用户(已经是dbo)对存储过程的执行权限以运行SSRS报告_Sql_Sql Server 2008_Ssrs 2008_Ssrs 2008 R2 - Fatal编程技术网

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

Sql 如何授予用户(已经是dbo)对存储过程的执行权限以运行SSRS报告,sql,sql-server-2008,ssrs-2008,ssrs-2008-r2,Sql,Sql Server 2008,Ssrs 2008,Ssrs 2008 R2,我是新手。 我已经得到了dbo的许可。我编写了一个存储过程,将记录插入到某个表中,并设计了SSRS reportUI来添加执行该存储过程的记录。 我们中有5个人拥有dbo权限,如何在已经拥有dbo权限的5个用户中仅向1个用户授予“执行”权限? i、 在部署SSRS报告时,它反过来执行intranet上的存储过程,我希望仅由1个userMe执行。 谢谢。有一些依赖项,我假设您使用的是windows,并且您能够在要部署到的机箱上设置数据源 在这种情况下-确保将数据源设置为使用运行报表的人员的wind

我是新手。 我已经得到了dbo的许可。我编写了一个存储过程,将记录插入到某个表中,并设计了SSRS reportUI来添加执行该存储过程的记录。 我们中有5个人拥有dbo权限,如何在已经拥有dbo权限的5个用户中仅向1个用户授予“执行”权限? i、 在部署SSRS报告时,它反过来执行intranet上的存储过程,我希望仅由1个userMe执行。
谢谢。

有一些依赖项,我假设您使用的是windows,并且您能够在要部署到的机箱上设置数据源

在这种情况下-确保将数据源设置为使用运行报表的人员的windows凭据运行?

一旦获得该参数,就可以将UserID作为参数传递给存储过程

User!UserID
然后,您可以在SP中测试其是否为您的用户

 if SYSTEM_USER = @username
      Insert into xxx...

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

将[dbo].[proc name]上的execute授予[some_角色]

这一切都取决于组织的规模。一个小企业可能只是把事情拼凑起来让它们运转起来,或者在我的情况下,一个大型金融机构将有很强的安全性,我们必须遵守政策,否则审计将与我们一起玩得很开心-尼克