通过代理执行SSIS时代理帐户失败

时间:2010-12-08 23:58:46

标签: sql sql-server-2008 ssis sql-server-agent

最近,当我创建一个SQL Server代理(2008)作业来执行带有代理帐户的SSIS包时,它失败并显示以下错误消息。什么是这个例外?是什么导致它,我该如何解决?

错误消息 以用户身份执行:blaw。无法为作业0xD5A5的步骤1创建该进程(原因:客户端未保留所需的权限)。步骤失败了。

注意: - 它与代理服务帐户一起正常工作。

由于

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您没有准确提及您的身份验证方式,但无论如何,这里有一个用于创建登录,凭据和代理以及授予SSIS包权限的脚本:

CREATE LOGIN [MyLogin] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO

GRANT CONNECT TO [MyLogin]
go

CREATE ROLE MyRole
GO

EXEC sp_addrolemember @membername = N'MyLogin', @rolename = N'MyRole'
GO

CREATE CREDENTIAL MyCredential WITH IDENTITY = 'MyLogin', SECRET = 'MyPassword';

GO

USE [msdb]
GO

EXEC msdb.dbo.sp_add_proxy @proxy_name=N'MyProxy',@credential_name=N'MyCredential', 
        @enabled=1
GO

EXEC msdb.dbo.sp_grant_proxy_to_subsystem @proxy_name=N'MyProxy', @subsystem_id=11
GO

EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'MyProxy', @login_name=N'MyLogin'
GO


CREATE ROLE MyRole
GO

EXEC sp_addrolemember @membername = N'MyRole', @rolename = N'db_ssisadmin'
GO

EXEC sp_addrolemember @membername = N'MyRole', @rolename = N'db_ssisoperator'
GO

EXEC sp_addrolemember @membername = N'MyLogin', @rolename = N'MyRole'
GO

答案 2 :(得分:0)

刚刚完成了这个问题并得出了一个不同的解决方案。全球安全政策正在阻碍。事实证明,正在提出这个问题的开发服务器意外地采用了比生产方式更加严格的策略。不完全确定政策下的哪个被覆盖的权限导致了这个问题,但是限制较少的政策仍然解决了这个问题。基本上,如果在提出问题的服务器上锁定了本地安全策略,请与您的Active Directory管理员联系。