在SQLAgent中运行SSIS包报错

[复制链接]
查看11 | 回复3 | 2012-5-22 15:05:35 | 显示全部楼层 |阅读模式
SQLServer 2008 R2 EE CU7
在BIDS中建立了一个包,然后导入到Integration Service,之后直接在Integration Service中运行,没有任何问题,于是建立Job来运行这个包,就报错了。
错误信息为
Executed as user: SZWRK2667\SYSTEM. tion.End ErrorError: 2012-02-02 17:41:43.61 Code: 0xC0024107 Source: Data Flow TaskDescription: There were errors during task validation.End ErrorDTExec: The package execution returned DTSER_FAILURE (1).Started:5:41:43 PMFinished: 5:41:43 PMElapsed:0.374 seconds.The package execution failed.The step failed.
最开始SQLAgent服务的启动账号为Localsystem,于是我修改成./administrator,再执行那个Job,报错信息变为:
Message
Executed as user: SZWRK2667\Administrator. Microsoft (R) SQL Server Execute Package UtilityVersion 10.50.2500.0 for 32-bitCopyright (C) Microsoft Corporation 2010. All rights reserved.Started:5:44:57 PMError: 2012-02-02 17:44:58.18 Code: 0xC0047062 Source: Data Flow Task ADO NET Source [58] Description: System.Data.SqlClient.SqlException: Login failed for user 'sa'. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName, String connStr, Object transaction) at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100.AcquireConnection(Object pTransaction) at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.AcquireConnections(Object transaction) at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100 wrapper, Object transaction)End ErrorError: 2012-02-02 17:44:58.18 Code: 0xC0047017 Source: Data Flow Task SSIS.Pipeline Description: component "ADO NET Source" (58) failed validation and returned error code 0x80131904.End ErrorError: 2012-02-02 17:44:58.18 Code: 0xC004700C Source: Data Flow Task SSIS.Pipeline Description: One or more component failed validation.End ErrorError: 2012-02-02 17:44:58.18 Code: 0xC0024107 Source: Data Flow TaskDescription: There were errors during task validation.End ErrorDTExec: The package execution returned DTSER_FAILURE (1).Started:5:44:57 PMFinished: 5:44:58 PMElapsed:0.343 seconds.The package execution failed.The step failed

谁知道应该怎么修复这个错误吗?

回复

使用道具 举报

千问 | 2012-5-22 15:05:35 | 显示全部楼层
Login failed for user 'sa'.
回复

使用道具 举报

千问 | 2012-5-22 15:05:35 | 显示全部楼层
guostong 发表于 2012-2-4 04:35
Login failed for user 'sa'.

我已经找到解决办法了...等会将解决办法贴上来
回复

使用道具 举报

千问 | 2012-5-22 15:05:35 | 显示全部楼层
guostong 发表于 2012-2-4 04:35
Login failed for user 'sa'.

其实这个报错信息是假的.
解决办法是这样的,
首先SQLAgent服务的启动账号不需要任何改动,第二,在SQLServer中新建一个Credential,创建的时候我是指向本地管理员的,之后赋予一个密码(还未做测试,是否真的要和本地管理员密码一样),
之后在SQLAgent下,展开Proxy,右键选择新建Proxy,然后选择到SQLServer Integration Service,并且Credential选择到刚才新建的.
第三,新建Job来执行SSIS包,在Job Step中"Run As"部分选择到之前创建的Proxy.然后后面再执行的话 ,就没任何问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行