Симптоми
Имайте предвид сценария, описан по-долу:
- Използвате Microsoft SQL Server 2012 или SQL Server 2014 и Microsoft SQL Server Data Tools (SSDT), за да проектирате пакет на услугите за интеграция на SQL Server (SSIS).
- В задачата за поток от данни можете да използвате компонент източник, като например източник на OLE база данни, източник на ADO.NET или ODBC източник, за да зададете режима на достъп до данни на SQL команда и да въведете заявка в командното поле.
- Щракнете върху "Визуализация", за да видите резултата от заявката.
В този сценарий командата, която се визуализира, се изпълнява повече от 30 секунди и е неуспешна в конструктора. Освен това получавате грешка, подобна на "Времето на изчакване на заявката е изтекло".
Причина
Проблемът се появява, защото прагът на CommandTimeout е твърдо кодиран като 30 секунди за функцията за визуализация в SSIS designer.
Решение
Проблемът е коригиран за първи път в следващата кумулативна актуализация на SQL Server.
Сборна актуализация 3 за SQL Server 2014 г. /en-us/help/2984923
Сборна актуализация 1 за SQL Server 2012 SP2 /en-us/help/2976982
Сборна актуализация 10 за SQL Server 2012 SP1 /en-us/help/2954099
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
- Последна сборна актуализация за SQL Server 2014
- Последна кумулативна актуализация за SQL Server 2012 SP2
- Последна сборна актуализация за SQL Server 2012 SP1
Бележки:
Преди да приложите тази гореща корекция, настройките за време на изчакване се фиксират на 30 секунди във визуализацията на данните за всички SSIS компоненти.
След като приложите тази гореща корекция:
За компонент ADO.NET източник и компонент източник на OLE база данни те вече имат свойство CommandTimeout. Това свойство ще се използва във визуализацията на данни.
За всички други компоненти, които имат функция за визуализация на данни, но нямат свойството CommandTimeout:
- Ако има стойност на DWORD DataPreviewTimeout под системния ключ от системния регистър:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences, SSIS ще използва тази стойност като изтичане на времето за изчакване по време на визуализацията.
- Ако няма стойност на DWORD DataPreviewTimeout, SSIS все още използва 30 секунди.
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.