Příznaky
Vezměte v úvahu následující scénář:
- K návrhu balíčku služby Služby Integrace SQL Serveru (SSIS) použijete Microsoft SQL Server 2012 nebo SQL Server 2014 a Microsoft SQL Server Data Tools (SSDT).
- V úloze toku dat použijete zdrojovou komponentu, například zdroj OLE DB, zdroj ADO.NET nebo zdroj ODBC, k nastavení režimu přístupu k datům na příkaz SQL a zadáte dotaz do pole příkazu.
- Kliknutím na tlačítko Náhled zobrazíte výsledek dotazu.
V tomto scénáři příkaz, který je zobrazen ve verzi Preview, běží déle než 30 sekund a v návrháři selže. Navíc se zobrazí chyba podobná "Vypršel časový limit dotazu".
Příčina
K tomuto problému dochází, protože mezní hodnota CommandTimeout je pevně zakódována jako 30 sekund pro funkci náhledu v návrháři SSIS.
Řešení
Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.
Kumulativní aktualizace 3 pro SQL Server 2014 /en-us/help/2984923
Kumulativní aktualizace 1 pro SQL Server 2012 SP2 /en-us/help/2976982
Kumulativní aktualizace 10 pro SQL Server 2012 SP1 /en-us/help/2954099
Informace o kumulativních aktualizacích pro SQL Server
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2014
- Nejnovější kumulativní aktualizace pro SQL Server 2012 SP2
- Nejnovější kumulativní aktualizace pro SQL Server 2012 SP1
Poznámky:
Před použitím této opravy hotfix je nastavení časového limitu nastaveno na 30 sekund v náhledu dat pro všechny komponenty SSIS.
Po instalaci této opravy hotfix:
Pro zdrojovou komponentu ADO.NET a zdrojovou komponentu OLE DB již mají vlastnost CommandTimeout. Tato vlastnost se použije ve verzi Preview dat.
Pro všechny ostatní komponenty, které mají funkci náhledu dat, ale nemají vlastnost CommandTimeout:
- Pokud se v části klíč systémového registru:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences vyskytuje hodnota DWORD DataPreviewTimeout.
- Pokud není zadána žádná hodnota DWORD DataPreviewTimeout, SSIS stále používá 30 sekund.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.