2012-08-17 255 views
0

我在我的工作站中创建了一个SSIS包。 它一直运行到最后一分钟,当我将它移动到服务器机器时(NT用户在两台PC上都是一样的)SSIS的工作验证错误

保护级别设置为EncryptSensitiveWithPassword

下面是来自作业运行尝试的输出错误。

Error: 2012-08-17 11:57:04.74 
    Code: 0xC0202009 
    Source: CCTSQLBajadas Connection manager "MyPackage" 
    Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. 
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E4D Description: "Login failed for user 'COMPANY\TTP321$'.". 
End Error 
Error: 2012-08-17 11:57:04.76 
    Code: 0xC020801C 
    Source: call view populate replace [157] //name of one the steps inside the package. 
    Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "MyPackage" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. 
End Error 

什么奇怪的,我是行Login failed for user 'COMPANY\TTP321$由于公司是网络和TTP321是服务器的主机名。不应该是我的NT用户名吗?由于封装中使用的连接全部在我的用户名下。当然,它不会,如果它试图做COMPANY\TTP321$

在封装尝试使用特殊的用户名来运行任何想法验证? 谢谢。

+0

您确定COMPANY \ TTP321 $有权访问该数据库吗? – 2012-08-17 15:17:56

+0

它不(company \ ttp321 $)甚至不存在),正确的用户是COMPANY \ MyUserName。这就是它在SSIS包中的设置。我不知道为什么预定的工作尝试访问这种方式。 – 2012-08-17 15:21:25

+0

我猜想,TTP321 $是的SQLAgent在其下运行的域帐户。您需要在SQLAgent中设置运行您的软件包的帐户,而不是在您的软件包中。 – 2012-08-17 15:29:38

回答

2

公司\ TTP321 $是的SQLAgent在其下运行的用户ID,所以你的包也与该用户的权限运行。如果你想在你的用户名下运行,你需要在SQLAgent中设置它。