Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 server 如何向SQLServer2005系统存储过程授予权限(例如sp_开始_作业)_Sql Server_Sql Server 2005_Ssis - Fatal编程技术网

Sql server 如何向SQLServer2005系统存储过程授予权限(例如sp_开始_作业)

Sql server 如何向SQLServer2005系统存储过程授予权限(例如sp_开始_作业),sql-server,sql-server-2005,ssis,Sql Server,Sql Server 2005,Ssis,我希望能够从web应用程序随意调用SSIS包。我发现,在本地计算机上运行sp_start_作业时,我可以成功地完成这项任务。但是,当我发布到我们的测试站点时,我得到: The EXECUTE permission was denied on the object 'sp_start_job', database 'msdb', schema dbo' 所以我试过这个 USE msdb CREATE USER [TheUser] FOR LOGIN [TheLogin] GO GRANT E

我希望能够从web应用程序随意调用SSIS包。我发现,在本地计算机上运行sp_start_作业时,我可以成功地完成这项任务。但是,当我发布到我们的测试站点时,我得到:

The EXECUTE permission was denied on the object 'sp_start_job', database 'msdb', schema dbo'
所以我试过这个

USE msdb

CREATE USER [TheUser] FOR LOGIN [TheLogin]
GO

GRANT EXECUTE ON sp_start_job TO [TheUser]
GO
但是,在运行此命令之后,我仍然会收到“权限被拒绝”错误。要向系统存储的进程授予权限,您需要做些特殊的事情吗

编辑:不知道这是否有区别,但Web服务器位于DMZ中,因此我使用sql server身份验证在Web服务器和db服务器之间进行通信。

来自:

默认情况下,系统管理员的成员 固定服务器角色可以执行此操作 存储过程。其他用户必须是 已授予以下SQL语句之一 服务器代理修复了中的数据库角色 msdb数据库:

* SQLAgentUserRole
* SQLAgentReaderRole
* SQLAgentOperatorRole

谢谢你的信息。前两个角色对我不起作用,但SQLAgentOperatorRole起作用。唯一的问题是它的权限比我想要的稍微多一些。是否有任何方法可以创建我自己的角色,该角色仅具有执行作业的权限?对于可能错过该任务的其他人,这些是msdb数据库中的角色。