2012-05-12 84 views
0

我在DATABASE1中设置了一个存储过程,其中包括调用存储过程调用sp_start_job(这是msdb数据库中的存储过程,将触发代理作业) 。通过存储过程权限交叉数据库权限

我创建了一个代理注册和MSDBDATABASE1数据库映射到此登录的用户帐户。

我在原来的存储过程,我使用EXEC作为proxylogin。此代理用户有权执行此过程,并在msdb数据库可以执行sp_start_job程序和是另外的SqlAgentOperator,SqlAgentUser,和SqlAgentReader角色的成员。我也给用户在DATABASE1MSDB authenicate权限。

的想法是,可以执行原程序的任何用户将实际运行下的proxylogin的凭据,所以我没有将这些权限分配出去。我仍然遇到权限错误,是否有人对此问题有所了解?

+0

您是否尝试过直接在存储过程上直接授予用户执行权限? – Watki02

回答

0

我们通过翻转数据库所有权链接来解决此问题