Objawy
Rozważmy następujący scenariusz:
- Pakiet usług SQL Server Integration Services (SSIS) można zaprojektować za pomocą programu Microsoft SQL Server 2012 lub SQL Server 2014 i narzędzi Microsoft SQL Server Data Tools (SSDT).
- W zadaniu przepływu danych należy użyć składnika źródłowego, takiego jak źródło bazy danych OLE, źródło ADO.NET lub źródło ODBC, aby ustawić tryb dostępu do danych na polecenie SQL, a następnie wpisać zapytanie w polu polecenia.
- Kliknij pozycję Podgląd, aby wyświetlić wynik zapytania.
W tym scenariuszu polecenie, którego podgląd jest wyświetlany, działa dłużej niż 30 sekund i kończy się niepowodzeniem w projektancie. Ponadto zwracany jest błąd podobny do komunikatu "Limit czasu zapytania wygasł".
Przyczyna
Ten problem występuje, ponieważ próg CommandTimeout jest ustalony jako 30 sekund dla funkcji w wersji zapoznawczej w projektancie SSIS.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w następującej aktualizacji zbiorczej programu SQL Server.
Zbiorcza aktualizacja 3 dla systemu SQL Server 2014 /pl-pl/pomoc/2984923
Aktualizacja skumulowana 1 dla systemu SQL Server 2012 z dodatkiem SP2 /pl-pl/pomoc/2976982
Skumulowana aktualizacja 10 dla SQL Server 2012 z dodatkiem Service Pack 1 /en-us/help/2954099
Informacje o aktualizacjach zbiorczych dla programu SQL Server
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP2
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP1
Uwagi:
Przed zastosowaniem tej poprawki ustawienia limitu czasu zostają ustalone na 30 sekund w podglądzie danych dla wszystkich składników SSIS.
Po zastosowaniu tej poprawki:
Składnik źródłowy ADO.NET i składnik źródłowy bazy danych OLE mają już właściwość CommandTimeout. Ta właściwość będzie używana w podglądzie danych.
Dla wszystkich innych składników, które mają funkcję podglądu danych, ale nie mają właściwości CommandTimeout:
- Jeśli w kluczu rejestru systemowego będzie występować wartość DWORD DataPreviewTimeout:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences, usługi SSIS będą używać tej wartości jako limitu czasu w podglądzie.
- Jeśli nie ma wartości DWORD DataPreviewTimeout, usługi SSIS nadal używają 30 sekund.
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.