2013-06-22 12 views
19

tôi có một công việc máy chủ SQL chạy gói SSIS. Công việc này có 9 bước và trong mỗi bước nó trích xuất dữ liệu từ một cơ sở dữ liệu khác. các chuỗi kết nối được định nghĩa là các tham số trong mỗi bước.Công việc SQL Server với gói SSIS - Không giải mã được nút XML được bảo vệ "DTS: Mật khẩu" với lỗi 0x8009000B

im nhận được lỗi sau khi tôi thực hiện công việc.

Executed as user: USER\MYSERVER$. Microsoft (R) SQL Server Execute Package Utility Version 10.50.1600.1 for 64-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. 
Started: 5:50:55 PM Error: 2013-06-21 17:50:55.44 
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-06-21 17:50:55.45 
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-06-21 17:50:55.45 
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-06-21 17:51:06.30 
Code: 0xC020901C 
Source: Data Flow Task Daily Attendance View 1 [34] 
Description: There was an error with output column "ShiftCode" (54) on output "OLE DB Source Output" (45). The column status returned was: "Text was truncated or one or more characters had no match in the target code page.". End Error Error: 2013-06-21 17:51:06.30 
Code: 0xC020902A 
Source: Data Flow Task Daily Attendance View 1 [34] 
Description: The "output column "ShiftCode" (54)" failed because truncation occurred, and the truncation row disposition on "output column "ShiftCode" (54)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component. End Error Error: 2013-06-21 17:51:06.30 
Code: 0xC0047038 
Source: Data Flow Task SSIS.Pipeline 
Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "Daily Attendance View 1" (34) returned error code 0xC020902A. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 5:50:55 PM Finished: 5:51:06 PM Elapsed: 10.983 seconds. The package execution failed. The step failed. 

ai đó có thể vui lòng cho tôi biết lý do điều này xảy ra?

+0

Vui lòng xem xét định dạng lại đầu ra. Nó rất khó đọc mà không có bất kỳ trở lại vận chuyển hoặc các tab. – rayryeng

Trả lời

8

Đó là vì người tạo ra các gói SSIS là người khác và người khác đang thực hiện các gói.

Nếu giả sử Một người đã tạo các gói SSIS và người B đang cố thực thi hơn lỗi nêu trên.

Bạn có thể giải quyết các lỗi bằng cách thay đổi tên tác giả từ tính chất gói từ A đến B.

Cảm ơn, Kiran Sagar

+1

nhưng nếu bạn thay đổi tên người sáng tạo, bạn không thể xây dựng được bất kỳ công cụ nào. chỉ chủ sở hữu mới có thể tạo và xuất bản nó. – batmaci

31

Ngoài những gì Kiran's answer gợi ý, hãy chắc chắn này được thiết lập một cách chính xác:

Có một tùy chọn trong SSIS để lưu mật khẩu (để truy cập DB hoặc bất kỳ thứ gì khác), cài đặt mặc định là "EncryptSensitiveWithUserKey" ... Bạn cần thay đổi điều này.

Gói Proprties Window> ProtectionLevel - Thay đổi đó để EncryptSensitiveWithPassword PackagePassword - nhập password-> somepassword

+9

Tôi nghĩ là không. Đây sẽ là câu trả lời vì nó đưa ra một giải pháp lâu dài trong trường hợp các gói đi qua lại trong các máy tính phát triển khác nhau – e4rthdog

9

Thay đổi cả dự án và gói Thuộc tính ProtectionLevel để "DontSaveSensitive"

+5

... được tìm thấy (trong studio trực quan) bằng cách nhấp vào bất kỳ đâu trên vùng điều khiển. – SteveCav

+2

nhấp chuột phải vào dự án của bạn trong Solution Explorer -> Properties -> Security section, bạn sẽ thấy "ProtectionLevel" ngay tại đó. – HATCHA

1

Ít muộn để các trò chơi nhưng tôi tìm thấy một cách để sửa lỗi này cho tôi rằng tôi đã không nhìn thấy bất cứ nơi nào khác. Chọn kết nối của bạn từ Trình quản lý kết nối. Ở bên phải bạn sẽ thấy các thuộc tính. Kiểm tra xem có bất kỳ biểu thức nào ở đó nếu không thêm biểu thức nào không. Trong gói thám hiểm của bạn thêm một biến gọi là kết nối đến sql hoặc bất cứ điều gì. Đặt biến làm chuỗi và đặt giá trị làm chuỗi kết nối của bạn và bao gồm Id người dùng và mật khẩu. Quay lại thuộc tính và biểu thức của trình quản lý kết nối. Từ menu thả xuống, chọn ConnectionString và đặt hộp thứ hai làm tên biến của bạn. Nó sẽ giống như thế này

enter image description here

Tôi không thể cho cuộc sống của tôi tìm thấy một giải pháp nhưng điều này làm việc!