Η Microsoft διανέμει τις επιδιορθώσεις του Microsoft SQL Server 2008 ως ένα αρχείο με δυνατότητα λήψης. Επειδή οι επιδιορθώσεις είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν στον προηγούμενο SQL Server 2008 έκδοση της ενημέρωσης κώδικα.
Συμπτώματα
Σύμπτωμα 1Όταν εκτελείτε έναν πληθυσμό για ένα μεγάλο ευρετήριο πλήρους κειμένου στον Microsoft SQL Server 2008 ή στον Microsoft SQL Server 2008 R2, ενδέχεται να λάβετε ένα μήνυμα σφάλματος στο αρχείο καταγραφής πλήρους κειμένου. Ο αριθμός των φορών που καταγράφεται αυτό το μήνυμα σφάλματος εξαρτάται από το μέγεθος της δέσμης μείον ένα. Για παράδειγμα, σε έναν υπολογιστή 32-bit, το μέγεθος της δέσμης είναι 1.000, επομένως το σφάλμα καταγράφεται 999 φορές. Το μήνυμα σφάλματος μοιάζει με το εξής:
Σφάλμα ' 0X8004cb04: οι λίστες λέξεων στη μνήμη είναι κατεστραμμένες. Αυτό οφείλεται σε ελαττωματικό φίλτρο, λέξεων ή άλλο στοιχείο ευρετηρίου. "Παρουσιάστηκε κατά τη διάρκεια του πληθυσμού ευρετηρίου πλήρους κειμένου για τον πίνακα ή την προβολή με ευρετήριο" [smarsh]. [dbo]. [ArchiveMsgs] ' (ο πίνακας ή το Αναγνωριστικό προβολής με ευρετήριο "160719625", αναγνωριστικό βάσης δεδομένων ' 7 '), τιμή κλειδιού πλήρους κειμένου "291484087". Θα γίνει προσπάθεια για την αναδημιουργία ευρετηρίου.
Αφού λάβετε αυτό το μήνυμα σφάλματος, ενδέχεται επίσης να λάβετε το ακόλουθο μήνυμα σφάλματος για το μέγεθος της δέσμης μείον ένα:
<ημερομηνία> <ώρα> Παρουσιάστηκε σφάλμα spid28s "0x80040e28" κατά τη διάρκεια του πληθυσμού ευρετηρίου πλήρους κειμένου για τον πίνακα ή την προβολή με ευρετήριο ' [smarsh]. [dbo]. [ArchiveMsgs] ' (ο πίνακας ή το Αναγνωριστικό προβολής με ευρετήριο "160719625", αναγνωριστικό βάσης δεδομένων ' 7 '), τιμή κλειδιού πλήρους κειμένου "199598211". Θα γίνει προσπάθεια για την αναδημιουργία ευρετηρίου.
Αφού λάβετε αυτό το μήνυμα σφάλματος, ενδέχεται επίσης να λάβετε το ακόλουθο μήνυμα σφάλματος για το μέγεθος της δέσμης μείον ένα:
<ημερομηνία> <ώρα> σφάλμα spid26s "0x80043630: η διαδικασία δαίμονα φίλτρου MSFTEFD έληξε για άγνωστο λόγο. Αυτό μπορεί να υποδεικνύει ένα σφάλμα σε ένα φίλτρο, ένα λέξεων ή ένα πρόγραμμα χειρισμού πρωτοκόλλων. "Παρουσιάστηκε κατά τη διάρκεια του πληθυσμού ευρετηρίου πλήρους κειμένου για τον πίνακα ή την προβολή με ευρετήριο" [smarsh]. [dbo]. [ArchiveMsgs] ' (ο πίνακας ή το Αναγνωριστικό προβολής με ευρετήριο "160719625", αναγνωριστικό βάσης δεδομένων ' 7 '), τιμή κλειδιού πλήρους κειμένου "14304130". Θα γίνει προσπάθεια για την αναδημιουργία ευρετηρίου.
Σύμπτωμα 2Επιπλέον, ενδέχεται να παρατηρήσετε ότι η διαδικασία FDHOST. exe δυσλειτουργεί. Όταν προσπαθείτε να εκτελέσετε ένα ερώτημα πλήρους κειμένου ή να εκτελέσετε έναν πληθυσμό πλήρους κειμένου, λαμβάνετε το ακόλουθο μήνυμα ξανά στο πρόγραμμα-πελάτη.
MSG 30053, επίπεδο 16, κατάσταση 102, λήξη χρονικού ορίου 1Word για τη συμβολοσειρά ερωτήματος πλήρους κειμένου. Αυτό μπορεί να συμβεί εάν το λέξεων χρειάστηκε πολύ χρόνο για να επεξεργαστεί τη συμβολοσειρά ερωτήματος πλήρους κειμένου ή εάν εκτελείται μεγάλος αριθμός ερωτημάτων στο διακομιστή. Δοκιμάστε να εκτελέσετε το ερώτημα ξανά κάτω από ένα ελαφρύτερο φορτίο.
Όταν εξετάζετε τα αρχεία καταγραφής του SQLFT * για αυτόν τον κατάλογο, παρατηρείτε αυτό το μήνυμα σφάλματος:
Παρουσιάστηκε σφάλμα "0x80004005" κατά τη διάρκεια του πληθυσμού ευρετηρίου πλήρους κειμένου για τον πίνακα ή την προβολή με ευρετήριο ' [ΒΆΣΗς]. [dbo]. [TABLENAMe] ' (ο πίνακας ή το Αναγνωριστικό προβολής με ευρετήριο "1204001724", αναγνωριστικό βάσης δεδομένων ' 5 '), τιμή κλειδιού πλήρους κειμένου ' 4 '. Θα γίνει προσπάθεια για την αναδημιουργία ευρετηρίου.
Όταν εξετάζετε το SQL Errorlog, παρατηρείτε αυτό το μήνυμα σφάλματος:
Σφάλμα: 30089, σοβαρότητα: 17, κατάσταση: 1. η διαδικασία κειμένου του προγράμματος-κεντρικού υπολογιστή Daemon Filter (FDHost) έχει διακοπεί ασυνήθιστα. Αυτό μπορεί να συμβεί εάν ένα γλωσσικό στοιχείο που έχει ρυθμιστεί εσφαλμένα ή δυσλειτουργεί, όπως ένα λέξεων, ένα στέλεχος ή ένα φίλτρο, έχει προκαλέσει μη ανακτήσιμο σφάλμα κατά τη δημιουργία ευρετηρίου ή την επεξεργασία ερωτήματος πλήρους κειμένου. Η διαδικασία θα ξεκινήσει ξανά αυτόματα.
Αιτία
Αυτό το πρόβλημα παρουσιάζεται εξαιτίας ενός σφάλματος στην επικοινωνία μεταξύ της διεργασίας Sqlservr. exe και της διαδικασίας Fdhost. exe. Όταν αποστέλλονται δέσμες από τη διαδικασία Sqlservr. exe στη διαδικασία Fdhost. exe, ορισμένες φορές η κοινόχρηστη μνήμη εξερχομένων (OSM), η οποία είναι η κοινόχρηστη μνήμη από το Sqlservr. exe στο Fdhost. exe, δεν έχει αρκετό χώρο για να χωρέσει στην επόμενη στήλη ενός εγγράφου. Όταν συμβεί αυτό, η διαδικασία Sqlservr. exe στέλνει ένα μήνυμα για να ειδοποιήσει τη διαδικασία Fdhost. exe να επεξεργαστεί όλα τα υπάρχοντα δεδομένα στο OSM. Ενώ η διαδικασία Fdhost. exe επεξεργάζεται δεδομένα, η εισερχόμενη κοινόχρηστη μνήμη (ISM), η οποία είναι η κοινόχρηστη μνήμη από το Fdhost. exe στο Sqlservr. exe, μπορεί να γεμίσει. Σε αυτήν την περίπτωση, η διαδικασία Fdhost. exe στέλνει ένα μήνυμα "Επαναφορά" στη διαδικασία Sqlservr. exe. Αυτό το μήνυμα ζητά από τη διαδικασία Sqlservr. exe να στείλει ξανά το τελευταίο έγγραφο από την πρώτη στήλη. Ωστόσο, όταν η διαδικασία Sqlservr. exe αρχίσει να στέλνει ξανά το έγγραφο, ξεκινά από τη στήλη 2 αντί για τη στήλη 1. Αυτό προκαλεί τα μηνύματα σφάλματος που αναφέρονται στην ενότητα "Συμπτώματα".
Επίλυση
Πληροφορίες αθροιστικής ενημέρωσης
SQL Server 2008 R2 Service Pack 2
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 3. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008 R2 Service Pack 2, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2754552 Πακέτο αθροιστικών ενημερώσεων 3 για τον SQL Server 2008 R2 Service Pack 2 Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο SQL Server 2008 R2 Service Pack 2 έκδοση της ενημέρωσης κώδικα. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
2730301 Οι εκδόσεις του SQL Server 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 Service Pack 2
SQL Server 2008
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 4 για την επίσημη έκδοση του SQL Server 2008. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
963036 Αθροιστική ενημερωμένη έκδοση πακέτου 4 για τον SQL Server 2008Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2008 έκδοση της ενημέρωσης κώδικα. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
956909 Ο SQL Server 2008 δημιουργεί τα οποία κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008
SQL Server 2008 Service Pack 1
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 1 για τον SQL Server 2008 Service Pack 1. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
969099 Πακέτο αθροιστικών ενημερώσεων 1 για τον SQL Server 2008 Service Pack 1Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2008 έκδοση της ενημέρωσης κώδικα. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
970365 Ο SQL Server 2008 δημιουργεί τα οποία κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 1
Λύση
Για να επιλύσετε αυτό το πρόβλημα, αυξήστε το μέγεθος του ISM. Για να το κάνετε αυτό, ρυθμίστε τις παραμέτρους της μεταβλητής ISM_Size χρησιμοποιώντας την sp_fulltext_service αποθηκευμένη διαδικασία. Για να εμφανίσετε την τρέχουσα τιμή:sp_fulltext_service ' ism_size ' για να αλλάξετε την τιμή σε 16:sp_fulltext_service ' ism_size ', @value = 16Σημείωση: θα χρειαστεί να επανεκκινήσετε την υπηρεσία SQL Server για να ισχύσει αυτή η αλλαγή.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".
Περισσότερες πληροφορίες
Αυτό το πρόβλημα δεν εμποδίζει την ολοκλήρωση του πληθυσμού. Το ευρετήριο πλήρους κειμένου έχει ενσωματωμένη λογική επανάληψης, η οποία θα συνεχίσει να επιχειρεί ξανά την αποτυχημένη καταχώρηση μέχρι να επιτύχει. Επομένως, μπορείτε να αγνοήσετε τα μηνύματα σφάλματος με ασφάλεια. Οι μόνες γνωστές πιθανές αρνητικές παρενέργειες είναι ότι μπορεί να χρειαστούν περισσότερο από το συνηθισμένο για να ολοκληρωθεί ο πληθυσμός και η αύξηση του αρχείου καταγραφής πλήρους κειμένου αυξάνεται σημαντικά για την αναφορά του σφάλματος. Η λογική επανάληψης στον πηγαίο κώδικα προκαλεί έναν ενδεχόμενο επιτυχημένο πληθυσμό χωρίς καταστροφή στο ευρετήριο, παρά το μήνυμα σφάλματος που υποδηλώνει πιθανή καταστροφή. Εάν αντιμετωπίζετε συμπτώματα #2 που περιγράφονται παραπάνω, τότε τα ερωτήματα αναζήτησης πλήρους κειμένου ή ο πληθυσμός δεν θα λειτουργούν, καθώς το στοιχείο Fdhost δεν είναι σε σωστή κατάσταση για να λειτουργήσει και θα πρέπει να εφαρμόσετε αυτήν την αθροιστική ενημερωμένη έκδοση.
Περισσότερες πληροφορίες σχετικά με την αθροιστική ενημερωμένη έκδοση πακέτου 4 για τον SQL Server 2008
Για περισσότερες πληροφορίες σχετικά με το ποια αρχεία έχουν αλλάξει και για πληροφορίες σχετικά με τις προϋποθέσεις για την εφαρμογή του πακέτου αθροιστικής ενημερωμένης έκδοσης που περιέχει την επείγουσα επιδιόρθωση που περιγράφεται σε αυτό το άρθρο της Γνωσιακής Βάσης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
963036 Αθροιστική ενημερωμένη έκδοση πακέτου 4 για τον SQL Server 2008
Περισσότερες πληροφορίες σχετικά με την αθροιστική ενημερωμένη έκδοση πακέτου 1 για τον SQL Server 2008 Service Pack 1
Για περισσότερες πληροφορίες σχετικά με το ποια αρχεία έχουν αλλάξει και για πληροφορίες σχετικά με τις προϋποθέσεις για την εφαρμογή του πακέτου αθροιστικής ενημερωμένης έκδοσης που περιέχει την επείγουσα επιδιόρθωση που περιγράφεται σε αυτό το άρθρο της Γνωσιακής Βάσης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
969099 Πακέτο αθροιστικών ενημερώσεων 1 για τον SQL Server 2008 Service Pack 1
Αναφορές
Για περισσότερες πληροφορίες σχετικά με τη λίστα με τις εκδόσεις που είναι διαθέσιμες μετά την κυκλοφορία του SQL Server 2008, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
956909 Ο SQL Server 2008 δημιουργεί τα οποία κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008Για περισσότερες πληροφορίες σχετικά με το μοντέλο τμηματικής συντήρησης για τον SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
935897 Ένα μοντέλο τμηματικής συντήρησης είναι διαθέσιμο από την ομάδα του SQL Server για την παροχή επειγουσών επιδιορθώσεων για προβλήματα που έχουν αναφερθείΓια περισσότερες πληροφορίες σχετικά με τη διάταξη ονομασίας για τις ενημερώσεις του SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
822499 Νέα διάταξη ονομασίας για τα πακέτα ενημερώσεων λογισμικού του Microsoft SQL ServerΓια περισσότερες πληροφορίες σχετικά με την ορολογία ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
824684 Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερώσεων λογισμικού της Microsoft