连接创建期间的SSIS包安全问题

时间:2013-08-27 12:18:05

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

我已经为部署创建了SSIS包。 SSIS包已成功执行。有两个数据库服务器。 1个服务器与我的软件包连接相连,我使用sql作业在另一台服务器上进行部署。尝试与其他服务器建立连接时,SQL作业会出错。

以下是错误。

Date,Source,Severity,Step ID,Server,Job Name,Step Name,Notifications,Message,Duration,Sql Severity,Sql Message ID,Operator Emailed,Operator Net sent,Operator Paged,Retries Attempted
08/26/2013 04:02:19,XIPPackage,Error,0,DEVELOPMENT\PORTFOLIOCENTER,XIPPackage,(Job outcome),,The job failed.  The Job was invoked by User test.  The last step to run was step 1 (XIPPackageStep).,00:00:00,0,0,,,,0
08/26/2013 04:02:19,XIPPackage,Error,1,DEVELOPMENT\PORTFOLIOCENTER,XIPPackage,XIPPackageStep,,Executed as user: DEVELOPMENT\SYSTEM. Microsoft (R) SQL Server Execute Package Utility  Version 10.50.1600.1 for 64-bit  Copyright (C) Microsoft Corporation 2010. All rights reserved.    Started:  4:02:19 AM  Error: 2013-08-26 04:02:19.55     Code: 0xC0202009     Source: TestXIPPackage Connection manager "Source"     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 'TestCAPITAL\DEVELOPMENT$'.".  End Error  Error: 2013-08-26 04:02:19.55     Code: 0xC020801C     Source: Populate Tradeblotter Staging Load Staging [2633]     Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "Source" 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  Error: 2013-08-26 04:02:19.55     Code: 0xC0047017     Source: Populate Tradeblotter Staging SSIS.Pipeline     Description: component "Load Staging" (2633) failed validation and returned error code 0xC020801C.  End Error  Error: 2013-08-26 04:02:19.55     Code: 0xC004700C     Source: Populate Tradeblotter Staging SSIS.Pipeline     Description: One or more component failed validation.  End Error  Error: 2013-08-26 04:02:19.55     Code: 0xC0024107     Source: Populate Tradeblotter Staging      Description: There were errors during task validation.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  4:02:19 AM  Finished: 4:02:19 AM  Elapsed:  0.499 seconds.  The package execution failed.  The step failed.,00:00:00,0,0,,,,0
08/26/2013 03:49:43,XIPPackage,Error,0,DEVELOPMENT\PORTFOLIOCENTER,XIPPackage,(Job outcome),,The job failed.  The Job was invoked by User **hidden**.  The last step to run was step 1 (XIPPackageStep).,00:00:00,0,0,,,,0
08/26/2013 03:49:43,XIPPackage,Error,1,DEVELOPMENT\PORTFOLIOCENTER,XIPPackage,XIPPackageStep,,Executed as user: DEVELOPMENT\SYSTEM. Microsoft (R) SQL Server Execute Package Utility  Version 10.50.1600.1 for 64-bit  Copyright (C) Microsoft Corporation 2010. All rights reserved.    Started:  3:49:43 AM  Error: 2013-08-26 03:49:43.38     Code: 0xC0016016     Source:       Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-08-26 03:49:43.40     Code: 0xC0016016     Source:       Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-08-26 03:49:43.82     Code: 0xC0202009     Source: TestXIPPackage Connection manager "Source"     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 'TEstCAPITAL\DEVELOPMENT$'.".  End Error  Error: 2013-08-26 03:49:43.82     Code: 0xC020801C     Source: Populate Tradeblotter Staging Load Staging [2633]     Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "Source" 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  Error: 2013-08-26 03:49:43.82     Code: 0xC0047017     Source: Populate Tradeblotter Staging SSIS.Pipeline     Description: component "Load Staging" (2633) failed validation and returned error code 0xC020801C.  End Error  Error: 2013-08-26 03:49:43.82     Code: 0xC004700C     Source: Populate Tradeblotter Staging SSIS.Pipeline     Description: One or more component failed validation.  End Error  Error: 2013-08-26 03:49:43.82     Code: 0xC0024107     Source: Populate Tradeblotter Staging      Description: There were errors during task validation.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  3:49:43 AM  Finished: 3:49:43 AM  Elapsed:  0.499 seconds.  The package execution failed.  The step failed.,00:00:00,0,0,,,,0

我尝试过不保存敏感数据但没有工作。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

  

我尝试过不保存敏感数据但没有工作。

请发布错误消息。如果您不在SSIS包中放入敏感数据(密码),您将避免很多麻烦。如果您从未编写无法正常工作并始终提供错误消息,您也可以避免麻烦。

关于您的错误:

  

用户'Test \ DEVELOPMENT $'

的登录失败

要解决此问题,您需要将Windows用户的Test \ DEVELOPMENT $'添加为所需数据库的登录名,并确保它具有对数据库的必需访问权限。或者,将SQL作业设置为使用具有访问权限的Windows用户。如果你愿意,我可以进一步解释。

  

描述:无法解密受保护的XML节点“DTS:Password”

要避免这种情况,你应该:

  1. 仅使用Windows身份验证(不是SQL Server身份验证)
  2. 使用'不保存敏感数据'(因此我需要知道错误)