Η Microsoft διανέμει τις επιδιορθώσεις του Microsoft SQL Server 2008 ως ένα αρχείο με δυνατότητα λήψης. Επειδή οι επιδιορθώσεις είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις άμεσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που περιλαμβάνονταν στην προηγούμενη έκδοση επιδιόρθωσης SQL Server 2008.
Συμπτώματα
Σε έναν υπολογιστή που εκτελεί το Microsoft SQL Server 2008, αντιμετωπίζετε ένα ή περισσότερα από τα ακόλουθα προβλήματα κατά τη δημιουργία ενός συνδεδεμένου διακομιστή με χρήση της υπηρεσίας παροχής SQL Native Client (Sqlncli.dll).Σημείωση Αυτά τα προβλήματα παρουσιάζονται επίσης στο Microsoft SQL Server 2005 Service Pack 3 (SP3). Ωστόσο, η άμεση επιδιόρθωση σε αυτό το άρθρο δεν ισχύει για SQL Server 2005 SP3.
Πρόβλημα 1
Εξετάστε το ακόλουθο σενάριο:
-
Στο SQL Server Management Studio, μπορείτε να ανοίξετε το παράθυρο Νέος συνδεδεμένος διακομιστής και να δημιουργήσετε ένα συνδεδεμένο διακομιστή χρησιμοποιώντας μία από τις παρακάτω ρυθμίσεις:
-
υπηρεσία παροχής SQL Native Client με τύπο διακομιστή ως SQL Server
-
υπηρεσία παροχής SQL Native Client (όχι SQL Native Client 10) με τύπο διακομιστή ως Άλλη προέλευση δεδομένων
-
Υπηρεσία παροχής OLE DB της Microsoft για SQL Server με τύπο διακομιστή ως Άλλη προέλευση δεδομένων
-
-
Αναπτύσσετε τον κατάλογο "Συνδεδεμένοι διακομιστές" σε SQL Server Management Studio για να δείτε τους συνδεδεμένους διακομιστές.
Σε αυτό το σενάριο, η υπηρεσία SQL Server τερματίζεται απροσδόκητα ή δημιουργείται επανειλημμένα ένα αρχείο ένδειξης mini-dump στο φάκελο "SQL Server αρχείο καταγραφής σφαλμάτων". Αυτό το πρόβλημα συνεχίζεται μέχρι να διακοπεί η υπηρεσία SQL Server. Επιπλέον, SQL Server Management Studio αναφέρει το ακόλουθο σφάλμα:TITLE: Microsoft SQL Server Management Studio------------------------------Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)Για βοήθεια, κάντε κλικ στην επιλογή: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------ADDITIONAL INFORMATION:Παρουσιάστηκε μια εξαίρεση κατά την εκτέλεση μιας πρότασης ή δέσμης Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)------------------------------Ο χρόνος έληξε. Το χρονικό όριο που πέρασε πριν από την ολοκλήρωση της λειτουργίας ή ο διακομιστής δεν αποκρίνεται. (Microsoft SQL Server, Σφάλμα: -2)Σημείωση Αυτό το πρόβλημα δεν παρουσιάζεται εάν εκτελέσετε ένα ερώτημα συνδεδεμένου διακομιστή όταν χρησιμοποιείτε SQL Native Client υπηρεσία παροχής με τύπο διακομιστή ως SQL Server.
Πρόβλημα 2
Εξετάστε το ακόλουθο σενάριο:
-
Μπορείτε να δημιουργήσετε ένα συνδεδεμένο διακομιστή χρησιμοποιώντας την υπηρεσία παροχής OLE DB της Microsoft για προγράμματα οδήγησης ODBC.
-
Η προέλευση δεδομένων ODBC δημιουργείται χρησιμοποιώντας SQL Native Client υπηρεσία παροχής με τύπο διακομιστή ως Άλλη προέλευση δεδομένων.
Σε αυτό το σενάριο, ο συνδεδεμένος διακομιστής δεν επιστρέφει κανένα αποτέλεσμα.
Επίλυση
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε για πρώτη φορά στην Αθροιστική ενημέρωση 7 για SQL Server 2008 Service Pack 1. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστικής ενημέρωσης, κάντε κλικ στον αριθμό του παρακάτω άρθρου για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft: -
979065Πακέτο αθροιστικής ενημέρωσης 7 για SQL Server 2008 Service Pack 1 ΣημείωσηΕπισκεύαση ότι οι εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση επιδιόρθωσης περιέχει όλες τις άμεσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που περιλαμβάνονταν στην προηγούμενη έκδοση επιδιόρθωσης SQL Server 2008. Συνιστάται να εξετάσετε το ενδεχόμενο εφαρμογής της πιο πρόσφατης έκδοσης επιδιόρθωσης που περιέχει αυτήν την άμεση επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του παρακάτω άρθρου για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft: -
970365Οι SQL Server εκδόσεις του 2008 που κυκλοφόρησαν μετά την κυκλοφορία του Service Pack 1 SQL Server 2008 δημιουργούνται άμεσες επιδιορθώσεις του Microsoft SQL Server 2008 για συγκεκριμένα service pack SQL Server. Πρέπει να εφαρμόσετε μια άμεση επιδιόρθωση SQL Server 2008 Service Pack 1 σε μια εγκατάσταση του SQL Server 2008 Service Pack 1. Από προεπιλογή, οι άμεσες επιδιορθώσεις που παρέχονται σε ένα service pack SQL Server περιλαμβάνονται στο επόμενο service pack SQL Server.
Περισσότερες πληροφορίες
Μπορείτε να επιβεβαιώσετε την έκδοση των αρχείων Sqlncli.dll και Sqlservr.exe, εκτελώντας το ακόλουθο ερώτημα:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Εάν χρησιμοποιείτε microsoft SQL Server 2008 Service Pack 1 (SP1) ή νεότερες εκδόσεις του Microsoft SQL Server 2008, το ερώτημα θα επιστρέψει τις ακόλουθες πληροφορίες έκδοσης:
-
Το αρχείο Sqlncli.dll θα έχει έκδοση μεταγενέστερη της 9.0:3207.0.
-
Το αρχείο Sqlservr.exe θα έχει μια έκδοση μεταγενέστερη ή ίση με 10.0:2531.0, αλλά προγενέστερη της 10.0:2766.0.
Εάν χρησιμοποιείτε microsoft SQL Server 2008 RTM ή νεότερες εκδόσεις του SQL Server 2008 RTM, το ερώτημα θα επιστρέψει τις ακόλουθες πληροφορίες έκδοσης:
-
Το αρχείο Sqlncli.dll θα έχει μια έκδοση μεταγενέστερη της έκδοσης 9.0:3207.0.
-
Το αρχείο Sqlservr.exe θα έχει μια έκδοση μεταγενέστερη ή ίση με 10.0:1600.0, αλλά παλαιότερη από την έκδοση 10.0:1835.0.
Λύση
Για να επιλύσετε αυτά τα προβλήματα, ακολουθήστε τα παρακάτω βήματα:Λύση 1:1. Διαγράψτε τον συνδεδεμένο διακομιστή που αποτυγχάνει.2. Δημιουργήστε έναν νέο συνδεδεμένο διακομιστή χρησιμοποιώντας την υπηρεσία παροχής SQL Server Native Client 10.0 (SQLNCLI10). Για να το κάνετε αυτό: α. Κάντε δεξί κλικ στο στοιχείο Συνδεδεμένοι διακομιστές και επιλέξτε Νέος συνδεδεμένος διακομιστής. B. Επιλέξτε Άλλη προέλευση δεδομένων και επιλέξτε SQL Server Native Client 10.0 για την υπηρεσία παροχής.Λύση 2:
-
Δημιουργήστε ένα δευτερεύον κλειδί μητρώου με το όνομα "SQLNCLI" στην ακόλουθη διαδρομή:
HKLM\Software\Microsoft\DataAccess
-
Δημιουργήστε μια καταχώρηση μητρώου τύπου REG_DWORD με το όνομα "SQLOSPartitioning" κάτω από αυτό το δευτερεύον κλειδί.
-
Ορίστε την τιμή αυτής της καταχώρησης σε 0x0.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για πρόβλημα στα προϊόντα της Microsoft που αναφέρονται στην ενότητα "Ισχύει για".
Περισσότερες πληροφορίες
|
Λογισμικό κανόνων |
Τίτλος κανόνα |
Περιγραφή κανόνα |
Εκδόσεις προϊόντος με βάση τις οποίες αξιολογείται ο κανόνας |
|
Σύμβουλος του System Center |
SQL Server λείπουν KB979779 ενημέρωσης για την αποτροπή καταστροφής της μνήμης του SQL εγγενούς προγράμματος-πελάτη |
Σε αυτόν το διακομιστή υπάρχει μια υπηρεσία παροχής SQL Native Client που αντιστοιχεί στο SQL Server 2005. Αυτή η παλαιότερη έκδοση του SQLNCLI.dll θα μπορούσε ενδεχομένως να φορτωθεί στο SQL Server 2008 και SQL Server 2008 R2 κατά την απαρίθμηση των υπηρεσιών παροχής και τη δημιουργία συνδεδεμένων διακομιστών. Συγκεκριμένες εκδόσεις του SQL Server 2008 και SQL Server 2008 R2 μπορεί να αντιμετωπίσουν προβλήματα και παύσεις ανταπόκρισης κατά τη δημιουργία ή τη χρήση ενός συνδεδεμένου διακομιστή που δημιουργήθηκε με αυτό το επηρεαζόμενο SQLNCLI.dll. Ενημερώστε τις επηρεαζόμενες παρουσίες του SQL Server 2008 και SQL Server 2008 R2 με τις απαιτούμενες επιδιορθώσεις ή αποφύγετε τη χρήση αυτής της SQLNCLI.dll κατά τη δημιουργία συνδεδεμένων διακομιστών. |
Αναφορές
Για περισσότερες πληροφορίες σχετικά με το μοντέλο επαυξητικής συντήρησης για SQL Server, κάντε κλικ στον αριθμό του άρθρου που ακολουθεί για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:
935897 Ένα μοντέλο επαυξητικής συντήρησης είναι διαθέσιμο από την ομάδα SQL Server για την παράδοση άμεσων επιδιορθώσεων για αναφερόμενα προβλήματαΓια περισσότερες πληροφορίες σχετικά με το σχήμα ονοματοθεσιών για SQL Server ενημερώσεις, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:
822499Νέο σχήμα ονοματοθεσίας για πακέταενημέρωσης λογισμικού του Microsoft SQL Server Για περισσότερες πληροφορίες σχετικά με την ορολογία ενημέρωσης λογισμικού, κάντε κλικ στον αριθμό του παρακάτω άρθρου για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:
824684 Περιγραφή της τυπικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερώσεων λογισμικού της Microsoft