Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
-
Μπορείτε να χρησιμοποιήσετε το Microsoft SQL Server 2012 ή SQL Server 2014 και Microsoft SQL Server Data Tools (SSDT) για να σχεδιάσετε ένα πακέτο υπηρεσιών ενοποίησης του SQL Server (SSIS).
-
Στην εργασία ροής δεδομένων, μπορείτε να χρησιμοποιήσετε ένα στοιχείο προέλευσης, όπως την προέλευση OLE DB, την προέλευση ADO.NET ή την προέλευση ODBC, για να καθορίσετε τη λειτουργία πρόσβασης δεδομένων στην εντολή SQL και να πληκτρολογήσετε ένα ερώτημα στο πλαίσιο εντολών.
-
Κάνετε κλικ στο κουμπί Προεπισκόπηση για να δείτε το αποτέλεσμα του ερωτήματος.
Σε αυτό το σενάριο, η εντολή που είναι προεπισκόπηση εκτελείται περισσότερο από 30 δευτερόλεπτα και αποτυγχάνει στο πρόγραμμα σχεδίασης. Επιπλέον, εμφανίζεται ένα σφάλμα που μοιάζει με "έληξε το χρονικό όριο ερωτήματος".
Αιτία
Το πρόβλημα παρουσιάζεται επειδή το όριο του CommandTimeout είναι κωδικοποιημένο ως 30 δευτερόλεπτα για τη δυνατότητα προεπισκόπησης στο πρόγραμμα σχεδίασης SSIS.
Επίλυση
Το πρόβλημα διορθώθηκε για πρώτη φορά με την ακόλουθη αθροιστική ενημέρωση του 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:
Σημειώσεις:
-
Πριν από την εφαρμογή αυτής της επείγουσας επιδιόρθωσης, οι ρυθμίσεις χρονικού "Διόρθωση" επιδιορθώνονται σε 30 δευτερόλεπτα στην προεπισκόπηση δεδομένων για όλα τα στοιχεία SSIS.
-
Μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης:
-
Για το στοιχείο προέλευσης ADO.NET και το στοιχείο προέλευσης OLE DB, έχουν ήδη μια ιδιότητα CommandTimeout. Αυτή η ιδιότητα θα χρησιμοποιηθεί στην προεπισκόπηση δεδομένων.
-
Για όλα τα άλλα στοιχεία που διαθέτουν δυνατότητα προεπισκόπησης δεδομένων, αλλά δεν έχουν την ιδιότητα CommandTimeout :
-
Εάν υπάρχει μια τιμή DWORD DataPreviewTimeout στην περιοχή κλειδί μητρώου συστήματος:\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences Το SSIS θα χρησιμοποιήσει αυτή την τιμή ως χρονικό όριο κατά τη διάρκεια της προεπισκόπησης.
-
Εάν δεν υπάρχει τιμή DWORD DataPreviewTimeout, το SSIS εξακολουθεί να χρησιμοποιεί 30 δευτερόλεπτα.
-
-
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".