Belirtiler
Aşağıdaki senaryoyu inceleyin:
-
Microsoft SQL Server 2012 veya SQL Server 2014 ve Microsoft SQL Server veri araçları (SSDT) kullanarak SQL Server Integration Services (SSIS) paketi tasarlayabilirsiniz.
-
Veri erişim modunuSQL komutu olarak ayarlamak ve komut kutusuna bir sorgu yazmak Için, VERI akışı görevinde OLE DB Source, ADO.net Source veya ODBC Source gibi bir kaynak bileşeni kullanırsınız.
-
Sorgunun sonucunu görmek için Önizleme 'ye tıklayın.
Bu senaryoda, önizlenen komut 30 saniyeden uzun sürer ve tasarımcıda başarısız olur. Ayrıca, "Query Timeout süresi doldu" hatası alırsınız.
Neden
Bu sorun, S, Designer 'daki önizleme özelliği için CommandTimeout eşiği 30 saniye olarak sert şekilde kodlandığından oluşur.
Çözüm
Sorun ilk olarak SQL Server 'ın aşağıdaki toplu güncelleştirmesinde giderilmiştir.
SQL Server 2014 için toplu güncelleştirme 3 /en-us/help/2984923
SQL Server 2012 SP2 için toplu güncelleştirme 1 /en-us/help/2976982
SQL Server 2012 SP1 için toplu güncelleştirme 10 /en-us/help/2954099
Her bir SQL Server toplu güncelleştirmesi, önceki toplu güncelleştirmeyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. En son SQL Server güncelleştirmelerini gözden geçirin:
Notlar:
-
Bu düzeltmeyi uygulamadan önce, tüm SIS bileşenleri için veri önizlemede zaman aşımı ayarları 30 saniyeye düzeltildi.
-
Bu düzeltmeyi uyguladıktan sonra:
-
ADO.NET kaynak bileşeni ve OLE DB kaynak bileşeni için zaten bir özellik CommandTimeout'i vardır. Bu özellik veri önizlemede kullanılacaktır.
-
Veri önizleme özelliği olan ancak CommandTimeout özelliği olmayan diğer tüm bileşenler için:
-
Sistem kayıt defteri anahtarında bir DWORD değeri Datapreview zaman aşımı varsa:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences SSIS bu değeri önizleme sırasında zaman aşımına uğrayabilir.
-
DWORD değeri veri önizleme zaman aşımıyoksa, ssis yine 30 saniye kullanır.
-
-
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.