我希望能够从Web应用程序中随意调用SSIS包。我发现在本地计算机上运行时,我可以使用sp_start_job成功完成此操作。但是,当我发布到我们的测试网站时,我得到:
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服务器和数据库服务器之间进行通信。
答案 0 :(得分:2)
来自MSDN:
默认情况下,sysadmin的成员 固定服务器角色可以执行此操作 存储过程。其他用户必须是 授予以下SQL之一 Server Agent修复了数据库角色 msdb数据库:
* SQLAgentUserRole * SQLAgentReaderRole * SQLAgentOperatorRole