Проблемы
Рассмотрим следующий сценарий.
-
Для разработки пакета служб SQL Server Integration Services (SSIS) используется Microsoft SQL Server 2012 или SQL Server 2014 и Microsoft SQL Server Data Tools (SSDT).
-
В задаче Поток данных вы используете компонент-источник (например, источник OLE DB, источник ADO.NET или источник ODBC), чтобы установить режим доступа к данным в команде SQL и ввести запрос в поле Command.
-
Нажмите кнопку Предварительный просмотр , чтобы просмотреть результат запроса.
В этом сценарии предварительно выполняемая команда работает дольше, чем 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.
Заметки:
-
Перед применением этого исправления параметры времени ожидания зафиксированы до 30 секунд в предварительной версии данных для всех компонентов служб SSIS.
-
После установки исправления выполните указанные ниже действия.
-
Для исходного компонента ADO.NET и исходного компонента OLE DB у них уже есть свойство CommandTimeout. Это свойство будет использоваться в предварительной версии данных.
-
Для всех других компонентов, у которых есть функция предварительной версии данных, но не имеет свойства CommandTimeout :
-
Если в разделе "системный реестр" DataPreviewTimeout значение DWORD, выполните указанные ниже действия.\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences Службы SSIS будут использовать это значение во время предварительного просмотра.
-
Если параметр DWORD не имеет значения DataPreviewTimeout, службы SSIS по-прежнему используют 30 секунд.
-
-
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".