2016-11-11 16 views
8

Tôi đã cố gắng giải quyết vấn đề này trong một vài ngày nhưng không có vấn đề gì khi tìm kiếm trên web trực tiếp giải thích lý do Tôi nhận được lỗi này vì không có con trỏ nào được thực hiện trên gói này.SSIS thực thi lệnh SQL - Không thể hoàn thành thao tác con trỏ vì lược đồ bảng đã thay đổi sau khi con trỏ được khai báo

Tôi có một công việc SQL mà thực hiện một gói SSIS - gói này được giải thích khá nhiều ở đây:

enter image description here

Như các chương trình trên, có một số thay đổi schema điều đó xảy ra mà cuối cùng có thể giải thích tại sao tôi nhận được lỗi này nhưng lỗi này dường như không bao giờ xảy ra khi các gói được thực hiện thủ công và chỉ thông qua công việc SQL. Nó cũng có thể xảy ra một cách tự nhiên, một ngày nào đó nó hoạt động, sau đó tiếp theo nó cho tôi lỗi này:

enter image description here

Microsoft (R) SQL Server Execute Package UtilityVersion 10.50.4000.0 for 64-bitCopyright (C) Microsoft Corporation 2010. All rights reserved.Started: 04:30:00 AMError: 2016-11-11 04:31:35.91 Code: 0xC0202009 Source: Load into Stageing Database Load into Stageing Database [114] Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Could not complete cursor operation because the table schema changed after the cursor was declared.".End ErrorError: 2016-11-11 04:31:35.92 Code: 0xC0209029 Source: Load into Stageing Database Load into Stageing Database [114] Description: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (127)" failed because error code 0xC020907B occurred and the error row disposition on "input "OLE DB Destination Input" (127)" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.End ErrorError: 2016-11-11 04:31:35.92 Code: 0xC0047022 Source: Load into Stageing Database SSIS.Pipeline Description: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Load into Stageing Database" (114) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (127). The identified component returned an error from the ProcessInput method. The error is specific to the component but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.End ErrorError: 2016-11-11 04:31:36.06 Code: 0xC02020C4 Source: Load into Stageing Database Retrieve ITExtr03FinM 1 Description: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.End ErrorError: 2016-11-11 04:31:36.11 Code: 0xC0047038 Source: Load into Stageing Database SSIS.Pipeline Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "Retrieve ITExtr03FinM" (1) returned error code 0xC02020C4. 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 ErrorDTExec: The package execution returned DTSER_FAILURE (1).Started: 04:30:00 AMFinished: 04:31:36 AMElapsed: 95.859 seconds

Các lỗi trên không đề cập đến Load into Stageing Database - sau được chứa trong đó Data Flow Nhiệm vụ:

enter image description here

Ai đó có thể giải thích sự bất thường này và có cách nào khác không?

+1

Bạn có thực hiện bất kỳ thay đổi nào liên quan đến lược đồ vào ngày 6 tháng 11 không? Gói có hoạt động hoàn hảo trước ngày 6 không? Bạn đã kiểm tra Nhật ký sự kiện để xem liệu có bất kỳ công việc/quy trình nào khác có thể truy cập tệp hoặc bảng hoặc DB theo bất kỳ cách nào trong thời gian đó không?Điều gì về các đối tượng phụ thuộc vào bảng dàn dựng? – rvphx

Trả lời

4

Đọc qua lỗi tôi tin rằng chìa khóa để trả lời câu hỏi của bạn không phải là con trỏ mà là những bộ phận của lỗi:

  • Phương pháp PrimeOutput vào thành phần "Lấy ITExtr03FinM" (1) trả về mã lỗi 0xC02020C4
  • DTS_E_PRIMEOUTPUTFAILED
  • tải vào Cơ sở dữ liệu Stageing Lấy ITExtr03FinM 1 Mô tả: cố gắng thêm một hàng với nhiệm vụ đệm Data Flow thất bại với mã lỗi 0xC0047020

cuộc thảo luận này trên SQLServerCentral cho thấy cấu hình RAM/bộ nhớ đệm như một vấn đề https://ask.sqlservercentral.com/questions/46865/ssis-data-flow-task-getting-error-code-0xc02020c4.html

liên kết này cho thấy một vấn đề 32 vs 64 bit. Bạn đang sử dụng 64 bit địa phương và 32 bit trên máy chủ của bạn? SSIS ERROR: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020

Tôi đã tìm thấy một vài liên kết khác đề xuất RAM là vấn đề, điều này sẽ gây ra vì sao nó lại là một vấn đề trên một máy chứ không phải vấn đề khác vì cấu hình sẽ khác. Ngoài ra nếu bạn chạy gói trong một thời gian sử dụng nặng của máy chủ, bộ nhớ ít hơn sẽ có sẵn cho các hoạt động của bạn.

2

Kiểm tra lịch biểu của tác vụ và tác vụ bảo trì SQL khác trên máy chủ của bạn, cụ thể là khoảng 4:30 sáng. Thời gian nhất quán mà gói của bạn không thành công là 4:30 sáng và tôi đặt cược có hoặc là một reindex, cập nhật thống kê hoặc gói khác đang chạy cùng một lúc xung đột với gói của bạn.

Cũng có thể có sự sao chép xảy ra xung đột với gói của bạn.

Các vấn đề liên quan