使用代理和凭据时SSIS作业SQL登录失败
问题:我无法正确配置SSIS代理和SQL凭据,以便对运行SSIS包的SQL代理作业步骤使用受限访问域帐户(域\用户名)。域\用户名帐户具有所有必需的权限和特权,并且SSIS包的设计也正确。我已经阅读了很多关于这个主题的材料,如果我遗漏了什么,我希望得到一些帮助 更多详细信息:我有一个SSIS包,它只从一个SQL Server数据库表中读取数据,然后将数据推送到另一台服务器上的另一个数据库表中。我已经创建了一个特殊标识(域\用户名)来执行此操作,因为这需要每天运行 现在,当我使用该域\用户名运行visual studio并手动运行SSIS包时,一切都运行得非常好。但当我将其部署到SSIDB时,它没有运行。我已使用相同的用户帐户创建了SQL Server安全凭据,并使用该凭据创建了执行代理的SSIS包,并将SQL代理作业步骤配置为作为该代理帐户运行 但当我尝试执行SQL代理作业步骤时,它总是会出现以下错误:使用代理和凭据时SSIS作业SQL登录失败,ssis,proxy,credentials,Ssis,Proxy,Credentials,问题:我无法正确配置SSIS代理和SQL凭据,以便对运行SSIS包的SQL代理作业步骤使用受限访问域帐户(域\用户名)。域\用户名帐户具有所有必需的权限和特权,并且SSIS包的设计也正确。我已经阅读了很多关于这个主题的材料,如果我遗漏了什么,我希望得到一些帮助 更多详细信息:我有一个SSIS包,它只从一个SQL Server数据库表中读取数据,然后将数据推送到另一台服务器上的另一个数据库表中。我已经创建了一个特殊标识(域\用户名)来执行此操作,因为这需要每天运行 现在,当我使用该域\用户名运行v
Message
Executed as user: Domain\UserName. Microsoft (R) SQL Server Execute Package
Utility Version 11.0.6020.0 for 64-bit Copyright (C) Microsoft Corporation.
All rights reserved. Started: 10:00:26 AM Failed to execute IS server package
because of error 0x80131904. Server: XXXXXXXXXXXX, Package path: XXXXXXXXXX,
Environment reference Id: 36. Description: Login failed for user 'Domain\UserName'.
Source: .Net SqlClient Data Provider Started: 10:00:26 AM Finished: 10:00:26 AM
Elapsed: 0.578 seconds. The package execution failed. The step failed.
我发现了问题。我错过了授予Domain\UserName使用代理权限的一个步骤 解释 您需要使用sp_grant_login_to_proxy system存储过程向将使用创建的代理帐户的登录名/角色授予权限。您可以使用sp_enum_login_for_代理系统存储过程来查看有权访问代理的所有登录名/角色 脚本-向安全主体授予代理访问权限:
USE msdb
GO
--Grant proxy account access to security principals that could be
--either login name or fixed server role or msdb role
--Please note, Members of sysadmin server role are allowed to use any proxy
EXEC msdb.dbo.sp_grant_login_to_proxy
@proxy_name=N'SSISProxyDemo'
,@login_name=N'Domain\UserName'
--,@fixed_server_role=N''
--,@msdb_role=N''
GO
--View logins provided access to proxies
EXEC dbo.sp_enum_login_for_proxy
GO
我发现了问题。我错过了授予Domain\UserName使用代理权限的一个步骤 解释 您需要使用sp_grant_login_to_proxy system存储过程向将使用创建的代理帐户的登录名/角色授予权限。您可以使用sp_enum_login_for_代理系统存储过程来查看有权访问代理的所有登录名/角色 脚本-向安全主体授予代理访问权限:
USE msdb
GO
--Grant proxy account access to security principals that could be
--either login name or fixed server role or msdb role
--Please note, Members of sysadmin server role are allowed to use any proxy
EXEC msdb.dbo.sp_grant_login_to_proxy
@proxy_name=N'SSISProxyDemo'
,@login_name=N'Domain\UserName'
--,@fixed_server_role=N''
--,@msdb_role=N''
GO
--View logins provided access to proxies
EXEC dbo.sp_enum_login_for_proxy
GO