web-dev-qa-db-ja.com

SQL ServerストアドプロシージャからIntegration Services(SSIS)パッケージを実行する方法

sQL Server 2008 R2でこのようなクエリを実行しています

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\certs\SSIS Disposition\SSIS Disposition\SSIS Disposition\Package1.dtsx"'

エラーが発生する

Microsoft (R) SQL Server Execute Package Utility
Version 10.50.2500.0 for 64-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
NULL
Started:  12:08:21 AM
Error: 2014-03-21 00:08:21.71
   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
Progress: 2014-03-21 00:08:22.66
   Source: Data Flow Task 1 
   Validating: 0% complete
End Progress
Progress: 2014-03-21 00:08:22.69
   Source: Data Flow Task 1 
   Validating: 50% complete
End Progress
Error: 2014-03-21 00:08:23.05
   Code: 0xC0202009
   Source: Package1 Connection manager "DestinationConnectionOLEDB"
   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 'wm_bulk'.".
End Error
Error: 2014-03-21 00:08:23.07
   Code: 0xC020801C
   Source: Data Flow Task 1 Destination - ACQ_DailyFeedStaging [220]
   Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "DestinationConnectionOLEDB" failed with error code 0xC0202009.  There may be error messages posted before thi
s with more information on why the AcquireConnection method call failed.
End Error
Error: 2014-03-21 00:08:23.07
   Code: 0xC0047017
   Source: Data Flow Task 1 SSIS.Pipeline
   Description: component "Destination - ACQ_DailyFeedStaging" (220) failed validation and returned error code 0xC020801C.
End Error
Progress: 2014-03-21 00:08:23.07
   Source: Data Flow Task 1 
   Validating: 100% complete
End Progress
Error: 2014-03-21 00:08:23.07
   Code: 0xC004700C
   Source: Data Flow Task 1 SSIS.Pipeline
   Description: One or more component failed validation.
End Error
Error: 2014-03-21 00:08:23.07
   Code: 0xC0024107
   Source: Data Flow Task 1 
   Description: There were errors during task validation.
End Error
DTExec: The package execution returned DTSER_FAILURE (1).
Started:  12:08:21 AM
Finished: 12:08:23 AM
Elapsed:  1.544 seconds
NULL
4
vivek

機密データが保護された状態でパッケージが保存されているように見えます。つまり、指定されたユーザーのみがパッケージを実行できます。

これを修正するには、PackageProtectionLevelDontSaveSensitiveに設定してから、パッケージをサーバーに再デプロイします。

Set the package Protection Level

3
Mark Sinkinson