KB2954861 — ИСПРАВЛЕНО: «Время ожидания запроса истекло» при предварительном просмотре команды пакета служб SSIS в SSDT

Применяется к
SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблема

Рассмотрим следующий сценарий.

  • Для разработки пакета служб интеграции SQL Server (SSIS) используется Microsoft SQL Server 2012 или SQL Server 2014 и Microsoft SQL Server Data Tools (SSDT).
  • В задаче потока данных используется компонент-источник, например источник OLE DB, источник ADO.NET или источник ODBC, чтобы задать режим доступа к данным "Команда SQL" и ввести запрос в командное поле.
  • Чтобы увидеть результат запроса, нажмите кнопку "Просмотр".

В этом случае предварительная команда выполняется дольше 30 секунд и завершается сбоем в конструкторе. Кроме того, появляется сообщение об ошибке, похожее на "Срок ожидания запроса истек".

Причина

Проблема возникает из-за того, что пороговое значение CommandTimeout жестко запрограммировано равным 30 секундам для предварительной версии функции в конструкторе служб SSIS.

Решение

Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.

Накопительный пакет обновления 3 для SQL Server 2014 г. /en-us/help/2984923

Накопительный пакет обновления 1 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/2976982

Накопительный пакет обновления 10 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2954099

Сведения о накопительных обновлениях для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:

      

        
Примечания.

  • Перед применением этого исправления для параметра времени ожидания будет установлено значение 30 секунд в предварительном просмотре данных для всех компонентов служб SSIS.

  • После применения этого исправления:

    • Для исходного компонента ADO.NET и исходного компонента OLE DB у них уже есть свойство CommandTimeout. Это свойство будет использоваться при предварительном просмотре данных.

    • Для всех остальных компонентов, которые имеют возможность просмотра данных, но не имеют свойства CommandTimeout:

      • Если в разделе системного реестра указано значение DWORD DataPreviewTimeout:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences, служба SSIS будет использовать это значение в качестве времени ожидания во время предварительного просмотра.
      • Если значение DWORD (DataPreviewTimeout) отсутствует, служба SSIS по-прежнему использует 30 секунд.

      

Состояние

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