Ошибка при создании дескриптора окна sql

I have N number of tables in my database, which holds around 0.6 million records. I’ve created a SQL script which copies this data into same tables (basically it’s a script to generate more data). I’ve tested the script it runs fine for small data (10k records). When I tried it to copy all data, it throws an error:

An error occurred while executing batch. Error message is: Error creating window handle.

1.What is the meaning of this error in SQL Server?

2.Does it has to do anything with my SQL in script, or is this cause of other component of SQL Server?

jarlh's user avatar

jarlh

41.9k8 gold badges45 silver badges63 bronze badges

asked May 6, 2016 at 5:06

Kylo Ren's user avatar

12

Handles are Windows tools to manage OS resources. When some app on your machine have memory leaks — you can run out of handles and this error occurs. Current state of handles can be seen in Task Manager (Handle Count)

As said in comments — it’s a client side issue. For example large resultsets/query output to grid may end up to this error.

Solution: Reboot your PC, minimize the output of query. Also you can try to launch script via SQLCMD.

You can read more about it here.

Some explanation here.

levininja's user avatar

levininja

3,0985 gold badges25 silver badges41 bronze badges

answered May 6, 2016 at 7:46

gofr1's user avatar

gofr1gofr1

15.7k11 gold badges42 silver badges52 bronze badges

1

Ручками являются инструменты Windows для управления ресурсами ОС. Когда какое-либо приложение на вашем компьютере имеет утечку памяти — вы можете не работать с ручками, и эта ошибка возникает. Текущее состояние ручек можно увидеть в диспетчере задач (Handle Count)

Как говорится в комментариях — это проблема с клиентской стороной. Например, большие результаты/вывод запросов в сетку могут закончиться этой ошибкой.

Решение. Перезагрузите компьютер, свести к минимуму вывод запроса. Также вы можете попробовать запустить скрипт через SQLCMD.

Подробнее о вас можно прочитать здесь.

Некоторое объяснение здесь.

Помогаю со студенческими работами здесь

Ошибка «Невозможно вызвать Invoke или BeginInvoke.» при закрытии формы
Всем привет!
Когда закрываю приложение если строка 78 закомментирована, то в строке 80 появляется…

Invoke — невозможно вызвать до завершения создания дескриптора окна
В прикрепленном проекте из клиента пытаюсь обратиться к серверу через библиотеку — возникает…

Потоки. Нельзя вызвать Invoke до создания дескриптора окна
MainPanel SP = new MainPanel(); //окно с чартом
OneCharting chartI =new OneCharting();

Ошибка в потоке «Невозможно вызвать Invoke .»
Создал класс, который в отдельном потоке выполняет SQL запросы к базе и заполняет DataTable.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

  • Remove From My Forums

 locked

Ошибка при создании дескриптора окна.

  • Вопрос

  • Доброго времени суток!

    Вопрос к понимающим…

    VB 2010 Express: Есть процедура, которая  производит заполнение панели (Panel) пользовательскими элементами управления (Control) — т.е. создает некий интерфейс. Процедура вызывается по запросу пользователя.  При большом
    количестве добавляемых Contol возникает Win32Exeption: «Ошибка при создании дескриптора окна».  Явно отследить, в каком месте кода возникает исключение, или невозможно («Нет доступных исходных файлов») или VB
    «привязывает» исключение к разным местам кода. У меня есть такое подозрение, что «где-то что-то переполняется», т.к. при вызове процедуры с постоянным кол-вом добавляемых Control, исключение возникает
    при определенном числе раз вызова процедуры. Тоже самое происходит в скомпилированном EXE-файле. Буду очень признателен, если кто-нибудь подскажет чем это может быть вызвано. Спасибо.

Ответы

  • Хм. А перед добавлением новых Control, вызов метода Controls.Clear для Panel (в которую добавляются Control) — это неправильно? т.е. Panel надо чистить циклом Control.Dispose?

    Метод Clear просто очищает коллекцию Controls. Сами контролы продолжают висеть в памяти до очередной сборки мусора.

    Может подскажите, а если добавляемая Panel, не будет содержать Control, а в Panel необходимые элементы рисовать через GreateGraphics — это улучшит ситуацию?

    Может улучшить, может ухудшить. Смотря как рисовать будете. Вот полезная ссылка:

    Преодолевая границы Windows: объекты USER и GDI (часть 2). Общее количество дескрипторов не должно превышать 10000, а в их число входят и кисти, и перья, так что рисуя вручную тоже можно насоздавать (и не удалить) кучу дескрипторов.

    Попробовал чистить родительскую Panel циклом — разницы не заметил. Может надо ка-то по-хитрому?

    Нужно диспозить все контролы в коллеции panel.Controls, а также рекурсивно в коллекциях самих этих контролов. В частности, если используются UserControl, то у них.

    • Предложено в качестве ответа

      19 августа 2014 г. 7:03

    • Помечено в качестве ответа
      Dmitriy VereshchakMicrosoft contingent staff, Moderator
      19 августа 2014 г. 7:03
    • Снята пометка об ответе
      Dmitriy VereshchakMicrosoft contingent staff, Moderator
      19 августа 2014 г. 7:05
    • Помечено в качестве ответа
      Dmitriy VereshchakMicrosoft contingent staff, Moderator
      20 августа 2014 г. 13:23

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.

Симптомы

В Windows 7 выполните одно из следующих действий:

  • Установка Microsoft SQL Server 2008 через графический интерфейс пользователя (GUI).

  • Обновления SQL Server 2000 или SQL Server 2005 до SQL Server 2008 через графический Интерфейс.

  • Установите кластер SQL Server 2008 через графический Интерфейс.

  • Обновление из кластера SQL Server 2000 или SQL Server 2005 кластера для кластера SQL Server 2008 через графический Интерфейс.

После выполнения этих операций на этапе Настройки правила поддержки установки может появиться следующее сообщение об ошибке:

Invoke или BeginInvoke не может вызываться для элемента управления, пока не будет создан дескриптор окна.

Кроме того в одном из файлов журнала установки программы установки SQL Server может регистрироваться следующее сообщение об ошибке. Например в файле Detail_LandingPage.txt может регистрироваться следующее сообщение об ошибке:

< Дата >< время > Slp: тип исключения: System.InvalidOperationException
< Дата >< время > предустановки блокированной системы: сообщение:

< Дата >< время > Slp: Invoke или BeginInvoke не может вызываться для элемента управления, пока не будет создан дескриптор окна.
< Дата >< время > Slp: стека:

< Дата >< время > предустановки блокированной системы: в System.Windows.Forms.Control.WaitForWaitHandle (WaitHandle waitHandle)

< Дата >< время > предустановки блокированной системы: в System.Windows.Forms.Control.MarshaledInvoke (вызывающий объект элемента управления, метод делегата, объект args [], Boolean синхронный)

< Дата >< время > предустановки блокированной системы: в System.Windows.Forms.Control.Invoke (метод делегата, объект args [])

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Configuration.UIExtension.WaitScreen.Close()

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Configuration.UIExtension.UserInterfaceService.Start (Строка моникера)

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Configuration.UIExtension.StartAction.ExecuteAction (строка actionId)
< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute (строка actionId, TextWriter errorStream)

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction (WorkflowObject метабазы, TextWriter statusStream)

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions (WorkflowObject metaDb, TextWriter loggingStream)

< Дата >< время > Slp: правило выполняется оценка: успешно

Решение

Пакет обновления 1 для SQL Server 2008


Исправление этой уязвимости первого выпуска в накопительное обновление 4 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:

973602 накопительного обновления 4 для SQL Server 2008 Пакет обновления 1Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 1. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

В версии SQL Server 2008

Важно. Если на компьютере с официальной версией SQL Server 2008 необходимо установить это исправление.

Исправление этой уязвимости первого выпуска накопительного обновления 8. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008, щелкните следующий номер статьи базы знаний Майкрософт:

975976 накопительного обновления 8 для SQL Server 2008Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

956909 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Ссылки

Дополнительные сведения о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:

935897 добавочных модель обслуживания доступна из группы SQL Server для предоставления исправления для проблем, о которых сообщалось в

Дополнительные сведения о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:

Новая схема присвоения имен 822499 для программного обеспечения Microsoft SQL Server пакетами обновления

Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:

Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.

Симптомы

В Windows 7 выполните одно из следующих действий:

  • Установка Microsoft SQL Server 2008 через графический интерфейс пользователя (GUI).

  • Обновления SQL Server 2000 или SQL Server 2005 до SQL Server 2008 через графический Интерфейс.

  • Установите кластер SQL Server 2008 через графический Интерфейс.

  • Обновление из кластера SQL Server 2000 или SQL Server 2005 кластера для кластера SQL Server 2008 через графический Интерфейс.

После выполнения этих операций на этапе Настройки правила поддержки установки может появиться следующее сообщение об ошибке:

Invoke или BeginInvoke не может вызываться для элемента управления, пока не будет создан дескриптор окна.

Кроме того в одном из файлов журнала установки программы установки SQL Server может регистрироваться следующее сообщение об ошибке. Например в файле Detail_LandingPage.txt может регистрироваться следующее сообщение об ошибке:

< Дата >< время > Slp: тип исключения: System.InvalidOperationException
< Дата >< время > предустановки блокированной системы: сообщение:

< Дата >< время > Slp: Invoke или BeginInvoke не может вызываться для элемента управления, пока не будет создан дескриптор окна.
< Дата >< время > Slp: стека:

< Дата >< время > предустановки блокированной системы: в System.Windows.Forms.Control.WaitForWaitHandle (WaitHandle waitHandle)

< Дата >< время > предустановки блокированной системы: в System.Windows.Forms.Control.MarshaledInvoke (вызывающий объект элемента управления, метод делегата, объект args [], Boolean синхронный)

< Дата >< время > предустановки блокированной системы: в System.Windows.Forms.Control.Invoke (метод делегата, объект args [])

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Configuration.UIExtension.WaitScreen.Close()

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Configuration.UIExtension.UserInterfaceService.Start (Строка моникера)

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Configuration.UIExtension.StartAction.ExecuteAction (строка actionId)
< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute (строка actionId, TextWriter errorStream)

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction (WorkflowObject метабазы, TextWriter statusStream)

< Дата >< время > предустановки блокированной системы: в Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions (WorkflowObject metaDb, TextWriter loggingStream)

< Дата >< время > Slp: правило выполняется оценка: успешно

Решение

Пакет обновления 1 для SQL Server 2008


Исправление этой уязвимости первого выпуска в накопительное обновление 4 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:

973602 накопительного обновления 4 для SQL Server 2008 Пакет обновления 1Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 1. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

В версии SQL Server 2008

Важно. Если на компьютере с официальной версией SQL Server 2008 необходимо установить это исправление.

Исправление этой уязвимости первого выпуска накопительного обновления 8. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008, щелкните следующий номер статьи базы знаний Майкрософт:

975976 накопительного обновления 8 для SQL Server 2008Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

956909 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Ссылки

Дополнительные сведения о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:

935897 добавочных модель обслуживания доступна из группы SQL Server для предоставления исправления для проблем, о которых сообщалось в

Дополнительные сведения о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:

Новая схема присвоения имен 822499 для программного обеспечения Microsoft SQL Server пакетами обновления

Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:

Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

В моей базе данных есть N таблиц, в которых содержится около 0,6 миллиона записей. Я создал сценарий SQL, который копирует эти данные в те же таблицы (в основном это сценарий для генерации большего количества данных). Я протестировал сценарий, он отлично работает для небольших данных (10k записей). Когда я попробовал скопировать все данные, выдает ошибку:

Произошла ошибка при выполнении пакета. Сообщение об ошибке: Ошибка создания дескриптора окна.

1. Что означает эта ошибка в SQL Server?

2. Должен ли он что-то делать с моим SQL в скрипте, или это причина другого компонента SQL Server?

1 ответ

Лучший ответ

Дескрипторы — это инструменты Windows для управления ресурсами ОС. Когда какое-то приложение на вашем компьютере имеет утечку памяти — у вас могут закончиться ручки, и возникает эта ошибка. Текущее состояние дескрипторов можно увидеть в диспетчере задач (количество дескрипторов)

Как сказано в комментариях — это проблема на стороне клиента. Например, большой набор результатов / вывод запроса в сетку может привести к этой ошибке.

Решение: перезагрузите компьютер, минимизируйте вывод запроса. Также вы можете попробовать запустить скрипт через SQLCMD.

Подробнее об этом можно узнать здесь.

Некоторое объяснение здесь.


3

levininja
29 Янв 2021 в 22:23

Понравилась статья? Поделить с друзьями:
  • Ошибка при создании нового раздела
  • Ошибка при создании дела на пфмс что это
  • Ошибка при создании начального образа
  • Ошибка при создании временного файла ксс
  • Ошибка при создании медиафайла sony vegas pro 13