Próbuję rozwiązać ten problem przez kilka dni, ale żaden z problemów podczas wyszukiwania w Internecie bezpośrednio nie wyjaśnia, dlaczego Otrzymuję ten błąd, ponieważ na tym pakiecie nie ma kursora.SQL Job wykonanie SSIS - Nie można ukończyć operacji kursora, ponieważ schemat tabeli zmienił się po zadeklarowaniu kursora
Mam SQL zadanie, które wykonuje pakiet SSIS - Ten pakiet jest dość dużo wyjaśnione tutaj:
Jak pokazuje powyższa, istnieje szereg zmian schematu, co się dzieje, które mogłyby ostatecznie wyjaśnić dlaczego otrzymuję ten błąd, ale ten błąd nigdy nie wydaje się występować, gdy pakiety są wykonywane ręcznie i tylko przez zadanie SQL. Wydaje się też zdarzyć się spontanicznie, jeden dzień to działa, a następnie obok to daje mi ten błąd:
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
Powyższy błąd wspomina Load into Stageing Database
- w jest zawarty w tej Data Flow Task następujący:
Może ktoś wyjaśnić tę anomalię i czy istnieje sposób wokół to?
Czy wprowadziłeś jakieś zmiany związane z schematem 6 listopada? Czy paczka działała bezbłędnie przed szóstą? Czy sprawdziłeś dziennik zdarzeń, aby sprawdzić, czy istnieje jakieś inne zadanie/proces, który miałby dostęp do pliku lub tabel lub bazy danych w jakikolwiek sposób w tym czasie?A co z obiektami zależnymi w tabeli pomostowej? – rvphx