В Windows 10, 8 и Windows 7 пользователи могут столкнуться с ошибкой Недостаточно системных ресурсов для завершения операции — при запуске какой-то программы или игры, а также во время её работы. При этом такое может происходить и на достаточно мощных компьютерах со значительным объемом памяти и без видимых чрезмерных нагрузок в диспетчере устройств.
В этой инструкции подробно о том, как исправить ошибку «Недостаточно системных ресурсов для завершения операции» и чем она может быть вызвана. Статья написана в контексте Windows 10, но методы актуальны и для предыдущих версий ОС.
Простые способы исправить ошибку «Недостаточно системных ресурсов»
Чаще всего ошибка о недостаточности ресурсов бывает вызвана сравнительно простыми основными вещами и исправляется легко, для начала поговорим именно о них.
Далее — быстрые методы исправления ошибки и базовые причины, которые могут вызывать появление рассматриваемого сообщения.
- Если ошибка появляется сразу при запуске программы или игры (особенно сомнительного происхождения) — дело может быть в вашем антивирусе, который блокирует выполнение этой программы. Если вы уверены в том, что она безопасна — добавьте её в исключения антивируса или временно отключите его.
- Если на вашем компьютере отключен файл подкачки (даже если установлено много RAM) или на системном разделе диска мало свободного места (2-3 Гб = мало), это может вызывать ошибку. Попробуйте включить файл подкачки, при этом использовать его размер, автоматически определяемый системой (см. Файл подкачки Windows), и позаботиться о достаточном количестве свободного места).
- В некоторых случаях причина — действительно в недостаточности ресурсов компьютера для работы программы (изучите минимальные системные требования, особенно если это игра наподобие PUBG) или в том, что они заняты другими фоновыми процессами (здесь можно проверить запуск той же программы в режиме чистой загрузки Windows 10, и если там ошибка не проявляется — для начала почистить автозагрузку). Иногда может быть, что в целом для программы ресурсов хватает, но для некоторых тяжелых операций — нет (бывает при работе с большими таблицами в Excel).
Также, если вы наблюдаете постоянное высокое использование ресурсов компьютера в диспетчере задач даже без запущенных программ — попробуйте выявить процессы, нагружающие компьютер, а заодно выполнить проверку на вирусы и наличие вредоносных программ, см. Как проверить процессы Windows на вирусы, Средства удаления вредоносных программ.
Дополнительные методы исправления ошибки
Если ни один из способов, приведенных выше, не помог и не подошел к вашей конкретной ситуации — далее более сложные варианты.
32-бит Windows
Существует ещё один частый фактор, вызывающий ошибку «Недостаточно системных ресурсов для завершения операции» в Windows 10, 8 и Windows 7 — ошибка может появляться, если на вашем компьютере установлена 32-бит (x86) версия системы. См. как узнать, 32-бит или 64-бит система установлена на компьютере.
В этом случае программа может запускаться, даже работать, но иногда прекращаться с указанной ошибкой, связано это с ограничениями размера виртуальной памяти на один процесс в 32-битных системах.
Решение одно — установить Windows 10 x64 вместо 32-битной версии, о том, как это сделать: Как поменять Windows 10 32-бит на 64-бит.
Изменение параметров выгружаемого пула памяти в редакторе реестра
Еще один способ, который может помочь при появлении ошибки — изменение двух параметров реестра, отвечающих за работу с выгружаемым пулом памяти.
- Нажмите Win+R, введите regedit и нажмите Enter — запустится редактор реестра.
- Перейдите к разделу реестра
- Дважды нажмите по параметру PoolUsageMaximum (при его отсутствии — правый клик в правой части редактора реестра — создать — параметр DWORD и задайте указанное имя), установите десятичную систему счисления и укажите значение 60.
- Измените значение параметра PagedPoolSize на ffffffff
- Закройте редактор реестра и перезагрузите компьютер.
Если это не сработает, выполните еще одну попытку, изменив PoolUsageMaximum на 40 и не забыв перезагрузить компьютер.
Надеюсь, один и вариантов сработает в вашем случае и позволит избавиться от рассмотренной ошибки. Если же нет — опишите подробно ситуацию в комментариях, возможно мне удастся помочь.
А вдруг и это будет интересно:
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
21.02.2018 в 14:45
Изменение параметров выгружаемого пула памяти в редакторе реестра. Прошёл все шаги всё по старому помогает только выключение, а при перезагрузке гаснет монитор клавиатура тоже все диоды гаснут, и мигает индикатор монитора. Нажимаю кнопку стоп и тут же запускаю, windows с сигналом стикира запускается. Может мне уступили процессор с повреждением, но это вряд ли тогда бы он не работал.
14.06.2018 в 20:25
словила ошибку при открытии Excel c помощью LinqToExcel в С# — причина была в том что файл был ReadOnly. Убрала ReadOnly ошибка исчезла) Ура!
17.07.2018 в 10:11
Здравствуйте, Дмитрий. После обновления до Вин.1803 в ком. строке в среде восстановления (параметры-восстановление-перезагрузить сейчас- и т.д.) появилась запись «Недостаточно ресурсов памяти для обработки этой команды». Попробовал манипуляции с реестром по вашей статье, не получилось. Что тут можно сделать,надо ли устранять это явление?
Прошу прощения,тут же нашёл ответ support.microsoft.com/ru-ru/help/4339170/not-enough-memory-resources-error-cmd-winpe-windows-10
25.08.2018 в 06:04
Здравствуйте, Дмитрий!
При обновлении Windows далее 18666 (и даже при чистой установке) перестал монтироваться RAM диск программой SoftPerfect RAM Disk (v. 4.07), которая сообщает: «NT error code = C000009A: Недостаточно системных ресурсов для завершения вызова API, image status = Image load succeeded.
Win32 error code = 0 Операция успешно завершена»
На текущей версии Windows 17134.288 монтируется диск 14000 МБ (из возможных 32 ГБ). Поэтому пока живём. Но что будет завтра?
Интересно, что на новых версиях Windows программа SoftPerfect RAM Disk монтирует виртуальный диск размером до 4095 МБ включительно, а 4096 МБ (то есть ровно 4ГБ) уже не монтирует. Что ей не нравится?
25.08.2018 в 14:20
Здравствуйте.
Не могу ответить, тут бы самому потестировать, а предположений «сходу» у меня и нет.
10.01.2019 в 23:10
Такая же проблема но только на windows xp на самом начале запуска
21.05.2019 в 08:55
Не могу запустить игру (unturned) пишет недостаточно системных ресурсов и ничего не помогает.
21.05.2019 в 10:26
А файл подкачки не отключали случайно?
14.10.2019 в 10:53
Здравствуйте, у меня вайфай, при просмотре фильмов по телевизору система пишет, недостаточно ресурсов, закрыть браузер, что это значит?
14.10.2019 в 14:07
Здравствуйте. Браузер на телевизоре? А видео смотрите на каком-то сайте с «бесплатными фильмами»? Если да, то вероятнее всего просто действительно недостаточно ресурсов (памяти) на ТВ на всё это дело (сам файл видео, реклама на сайте и прочее).
29.04.2020 в 12:47
Здравствуйте, в папке реестра нету пункта — PoolUsageMaximum.
29.04.2020 в 15:13
Здравствуйте. В инструкции указано, что вы можете его создать.
Устранение «Ошибки 1920. не удалось запустить службу» в Microsoft Office
Способ 1: Редактирование системного реестра
Рассматриваемый сбой возникает в первую очередь из-за неправильной работы механизма выдачи прав доступа одному из компонентов Майкрософт Офис, что в большинстве случаев можно устранить удалением определённой ветки реестра.
-
Вызовите «Редактор реестра» – проще всего это сделать с помощью средства «Выполнить», запустив его сочетанием Win+R. Далее введите в окно запрос regedit и нажмите «ОК».
Перейдите по адресу:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution OptionsOSPPSVC.EXE
На всякий случай рекомендуем сделать резервную копию раздела – выделите папку Image File Execution, затем воспользуйтесь пунктами «Файл» – «Экспорт».
Выберите местоположение, куда желаете выгрузить бэкап, задайте ему имя и кликните «Сохранить».
Подтвердите своё намерение.
После запуска ОС проверьте наличие проблемы. Если она будет устранена, воспользуйтесь одним из следующих методов.
Способ 2: Настройка доступа к папкам
Второй метод устранения проблем с доступом заключается в выполнении определенных манипуляций с файловой системой компьютера при инсталляции MS Office. Шаги следующие:
-
После получения ошибки закройте «Мастер по установке…» и перейдите по такому адресу:
C:Program FilesCommon FilesMicrosoft Shared
Полностью (посредством сочетания Shift+Del) удалите директорию OfficeSoftwareProtectionPlatform.
Снова запустите «Редактор реестра» (см. Способ 1) и перейдите по пути HKEY_CLASSES_ROOTAppID , кликните по последнему каталогу ПКМ и выберите «Разрешения».
В этом окне нажмите «Добавить».
Введите имя пользователя NETWORK SERVICE и нажмите «Проверить».
После проверки воспользуйтесь кнопкой «ОК».
В столбце «Разрешить» отметьте пункт «Полный доступ», после чего нажмите «Применить» и «ОК».
Запустите повторно установщик пакета приложений и начните инсталляцию. Не беспокойтесь, если ошибка снова появится, это тоже часть процедуры. Не закрывая «Мастер по установке…», перейдите по адресу из шага 1, и выберите каталог OfficeSoftwareProtectionPlatform, щёлкните по нему ПКМ и перейдите в «Свойства».
Здесь откройте «Безопасность» и воспользуйтесь кнопкой «Дополнительно».
Повторите действия по выдаче разрешений пользователю NETWORK SERVICE из шага 3, они ничем не отличаются. Единственное дополнение – отметьте опцию «Заменить разрешения для всех дочерних объектов…».
Сейчас потребуется открыть службы – нужную оснастку можно запустить через уже упомянутое здесь средство «Выполнить», запрос services.msc .
Найдите в перечне позицию с именем Office Software Protection Platform, кликните по ней ПКМ и выберите «Запустить».
Вернитесь к окну инсталлятора и нажмите на кнопку «Повторить» — теперь процесс должен пройти без проблем.
Способ 3: Использование других установочных данных
Иногда рассматриваемая проблема появляется в случаях, когда содержимое инсталлятора повреждено, например, в процессе скачивания. Если ни первый, ни второй из приведённых методов не помогают, скорее всего, вы столкнулись именно со сбойным установщиком. В таком случае потребуется загрузить либо скопировать его заново, и желательно из другого источника.
Мы рады, что смогли помочь Вам в решении проблемы.
Добавьте сайт Lumpics.ru в закладки и мы еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Ошибка RDP: Не удается завершить требуемую операцию, службы удаленных рабочих столов заняты
29.12.2020
insci
Windows Server 2012 R2, Windows Server 2016
комментария 4
Периодически некоторые пользователи не могут залогиниться на сервера RDS фермы Windows Server через стандартный rdp клиент с ошибкой:
Также несколько раз встречали такую картину: на вкладке Users диспетчера задач RDS хоста имеется множество зависших сессией пользователей с именами (4) вместо username и со статусом Disconnected.
Проблема встречается на всех версиях Windows Server: 2008 R2, 2012 R2, 2016 и 2019.
Ошибка может возникать по разным причинам:
- Ошибка в работе службы удаленных рабочих столов;
- Баг с процессом csrss.exe;
- Проблема с профилем пользователя или со службой profsvc;
- Нехватка оперативной памяти или дискового пространства на RDSH сервере;
- Некорректные настройки групповых политик.
К сожалению, на данный момент нет официального решения от Microsoft, которое бы полностью решало проблему, всё сводится к устранению симптомов.
Практически всегда проблема решается сбросом сессии проблемного пользователя и перезагрузкой RDS сервера, но в исключительных ситуациях этого может не хватить. Пройдемся по решениям, начиная от самых легких.
#1 — Проверьте ресурсы RDS сервера
Убедитесь, что серверу хватает ресурсов, так как эта ошибка может возникать из-за нехватки оперативной памяти или дискового пространства. Проверьте загруженность оперативной памяти и достаточно ли свободного места на диске, где установлена операционная система (должно быть свободно хотя бы 1 GB). Также проверьте event log на предмет критических ошибок, связанных с RDS.
Если ресурсов хватает, переходим к следующему варианту.
#2 – Сброс сессии пользователя и завершение зависших процессов в RDS сессии
Сначала попробуем найти и принудительно сбросить сессию пользователя, который не может зайти на RDS сервер. В диспетчере задач, на вкладке Users найдите нужного пользователя и через контекстное меню кликаем “Log off”. В большинстве случаев, этого достаточно, но иногда в диспетчере задач вы можете обнаружить множество зависших сессий с именем “(4)” вместо имени пользователя. Как правило в зависшей сессии будет присутствовать 4 процесса:
- Client Server Runtime Process (csrss.exe)
- Desktop Windows Manager (dwm.exe)
- Windows Logon Application (winlogon.exe)
- Windows Logon User Interface
В первую очередь попробуйте завершить все зависшие сессии с (4) через диспетчер задач, как описано выше. Если это не поможет, то лучше всего перезагрузить сервер, но зачастую такой возможности нет, поэтому пробуем решить проблему без перезагрузки:
- Запустите командную строку с правами администратора и введите: query session
Она покажет всех пользователей и их сессии на терминальном сервере. В выводе команды есть 3 интересующих нас столбца: SESSIONNAME, USERNAME и ID. Найдите пользователя (4) и соответствующий ему ID, в данном примере ID 2. Нам нужно завершить процесс csrss.exe который работает под этой сессией, сначала найдем его. - В командной строке введите: query process /id 2
Команда выведет все процессы, которые запущены в этой сессии. Нам нужно найти процесс csrss.exe и соответствующий ему PID. В моём случае PID будет 5140. Нам нужно завершить этот процесс. - Сверимся по диспетчеру задач. Откройте диспетчер задач, перейдите на вкладку Details и найдите нужный вам PID и процесс.Если нужный вам PID соответствует процессу csrss.exe, то завершите процесс через контекстное меню и End task, либо через командную строку: taskkill /F /PID 5140
Это нужно проделать с каждым пользователем “(4)”, если их несколько.
#3 — Сброс сессии пользователя через командную строку
Если разлогинить “проблемного” пользователя через диспетчер задач не удалось, можно попробовать сбросить сессию пользователя через командную строку.
-
- Запустите командную строку с правами администратора и введите query session Скопируйте SESSIONNAME проблемного пользователя.
- Введите reset session . Вместо впишите нужное вам название сессии, как показано на скриншоте
Это нужно сделать с каждым проблемным пользователем. Теперь можете попробовать залогиниться, проблема должна решиться. Если у вас есть возможность перезагрузить сервер, то лучше сделать это.
#4 – Проверьте настройки лицензирования хоста RDS
Проверьте, что у вас на RDSH хосте указан правильный сервер лицензирования и тип лицензии (CAL Per User/ CAL Per Device).
Адрес сервера с лицензиями RDS можно указать:
-
-
- В настройках RDS коллекции: Tasks -> Edit Deployment Properties -> RD Licensing;
- Через GPO: Use the specified Remote Desktop license servers (Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing)
- С помощью PowerShell (см. статью “Не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов”).
-
#5 – Уберите лимит RDP подключений в GPO
Через групповые политики можно ограничить количество одновременных подключений по RDS. По умолчанию данная политика выключена.
С помошью gpresult нужно проверить, включена ли политика и какое в ней указано значение.
-
-
- Запустите командную строку с правами администратора и введите gpresult /H c:gpresult.html
- Откройте файл gpresult.html, который лежит в корне диска C. Это обычный .html файл, рекомендуется открывать через internet explorer, так как в других браузерах он может отображаться некорректно;
- В разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session HostConnections найдите Limit number of connections, либо в поиске по странице наберите Limit number of connections.
-
Если такой политики нет, значит она не применяется и ограничений по количеству одновременных подключений нет. Если политика есть и указано количество одновременных подключений, измените её значение на нужное вам число. Изменить групповую политику можно через оснастку gpedit.msc, если политика настроена через доменные GPO, отредактируйте соответствующую политику через gpmc.msc. После того как отредактируете политику, не забудьте набрать в командной строке gpupdate /force для немедленного применения политики.
#6 — Нестандартные решения: если ничего не помогает
Если ресурсов у вас хватает, ошибок в журнале нет, перезагружаться нельзя, а сброс сессии по каким-то причинам не помог, то следует попробовать следующие варианты:
-
- Проверьте, что на RDS сервере не включен Drain режим, который запрещает пользователям новые RDP подключения: chglogon.exe /QUERY . Если команда вернет сообщение “New user logons are DISABLED, but reconnections to existing sessions are ENABLED”, отключите Drain режим: chglogon.exe /enable
- В настройках RDP подключения (mstsc.exe) на клиенте mstsc снимите галку «Постоянное кэширование точечных рисунков» («Persistent bitmap caching»);
- Перезагрузите службу RDS. В командной строке с правами администратора наберите net stop termservice и net start termservice . Либо перезапустите службу удаленно с помощью PowerShell: Get-Service termservice –ComputerName msk-rds1 | Restart-Service
- Принудительно убейте процессы tstheme.exe;
- Рекомендуется применить все последние обновления для вашей версии Windows, воспользуйтесь стандартными средствами обновления.
Предыдущая статья Следующая статья
SQL Job executing SSIS — Could not complete cursor operation because the table schema changed after the cursor was declared
I have been trying to get this issue resolved for a couple of days but none of the issues when searching on the web directly explains why I am getting this error as there is no cursor being executed on this package.
I have a SQL Job which executes a SSIS package — This package is pretty much explained here :
As the above shows, there are a number of schema changes that happens which could ultimately explain why I am getting this error but this error never seems to occur when the packages is executed manually and only through the SQL Job. It also seems to happen spontaneously, one day it works, then next it give me this error :
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
The above error does mention Load into Stageing Database — the following is contained within that Data Flow Task:
Can someone explain this anomaly and is there a way around this?
Я пытался решить эту проблему на пару дней, но ни одна из проблем при поиске в Интернете напрямую не объясняет, почему Я получаю эту ошибку, поскольку в этом пакете не выполняется курсор.
У меня есть SQL задание, который выполняет пакет SSIS — Этот пакет довольно много описан здесь:
Как следует из приведенных выше, существует целый ряд изменений схемы, случается, которая в конечном счете может объяснить почему я получаю эту ошибку, но эта ошибка никогда не возникает, когда пакеты выполняются вручную и только через SQL Job. Кроме того, кажется, происходит спонтанно, один день он работает, то рядом он дает мне эту ошибку:
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
выше ошибка упоминает Load into Stageing Database — содержится в пределах этого потока данных Задача следующая:
Может кто-то объяснить эту аномалию и есть способ обойти это?
Создан 11 ноя. 16 2016-11-11 09:01:38 PKirby
SQL Job executing SSIS — Could not complete cursor operation because the table schema changed after the cursor was declared
I have been trying to get this issue resolved for a couple of days but none of the issues when searching on the web directly explains why I am getting this error as there is no cursor being executed on this package.
I have a SQL Job which executes a SSIS package — This package is pretty much explained here :
As the above shows, there are a number of schema changes that happens which could ultimately explain why I am getting this error but this error never seems to occur when the packages is executed manually and only through the SQL Job. It also seems to happen spontaneously, one day it works, then next it give me this error :
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
The above error does mention Load into Stageing Database — the following is contained within that Data Flow Task:
Can someone explain this anomaly and is there a way around this?
Я пытался решить эту проблему на пару дней, но ни одна из проблем при поиске в Интернете напрямую не объясняет, почему Я получаю эту ошибку, поскольку в этом пакете не выполняется курсор.
У меня есть SQL задание, который выполняет пакет SSIS — Этот пакет довольно много описан здесь:
Как следует из приведенных выше, существует целый ряд изменений схемы, случается, которая в конечном счете может объяснить почему я получаю эту ошибку, но эта ошибка никогда не возникает, когда пакеты выполняются вручную и только через SQL Job. Кроме того, кажется, происходит спонтанно, один день он работает, то рядом он дает мне эту ошибку:
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
выше ошибка упоминает Load into Stageing Database — содержится в пределах этого потока данных Задача следующая:
Может кто-то объяснить эту аномалию и есть способ обойти это?
Создан 11 ноя. 16 2016-11-11 09:01:38 PKirby