ΕΝΗΜΕΡΩΣΗ: "yielding χωρίς το Χρονοδιάγραμμα" σφάλμα μπορεί να προκύψει όταν χρησιμοποιείτε τη συνάρτηση CONTAINSTABLE μαζί με πολλές OR και AND κατηγορήματα στον SQL Server 2008 ή στον SQL Server 2008 R2

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 2344600 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Η Microsoft διανέμει ενημερώσεις κώδικα του Microsoft SQL Server 2008 με ένα αρχείο με δυνατότητα λήψης. Επειδή οι ενημερώσεις κώδικα είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που είχαν περιληφθεί σε προηγούμενες SQL Server 2008 να διορθώσει την έκδοση.Η Microsoft διανέμει Microsoft SQL Server 2008 ή SQL Server 2008 R2 διορθώνει ως ένα αρχείο με δυνατότητα λήψης. Επειδή οι ενημερώσεις κώδικα είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο στον SQL Server 2008 ή SQL Server 2008 R2 διορθώσει την έκδοση.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Ας εξετάσουμε το ακόλουθο σενάριο:
  • Έχετε ένα ερώτημα αναζήτησης πλήρους κειμένου που χρησιμοποιεί τοCONTAINSTABLEλειτουργία με πολλάΉANDANDκατηγορήματα στη συνθήκη στον Microsoft SQL Server 2008 ή στον SQL Server 2008 R2. Για παράδειγμα, έχετε τις ακόλουθες 50ANDλειτουργίες:
    Declare @Keywords varchar(4000) = NULL
    
    set @Keywords= N'((((((((((((((((((((((((((((((((((((((((((((((((((((
    ("TOKarchitect" OR "architectural") 
    AND ("TOKengineer" OR "engineer")) 
    AND "gineer") AND ("TOKmechanical" OR "Mechanical")) 
    AND ("TOKengineer" OR "Engineering")) 
    AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineering")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineering")) AND ("TOKcontrol" OR "Control")) AND ("TOKsystem" OR "Systems")) AND ("TOKengineer" OR "Engineer")) AND ("TOKproject" OR "Project")) AND ("TOKmanager" OR "Manager")) AND ("TOKengineer" OR "Engineering")) AND "Scheme") AND ("TOKmanufacture" OR "Manufacturing")) AND ("TOKengineer" OR "Engineer")) AND ("TOKmetallurgist" OR "Metallurgy")) AND ("TOKmetallurgist" OR "Metallurgist")) AND ("TOKprocess" OR "Process")) AND ("TOKTechnology" OR "Technology")) AND ("TOKproduct" OR "Production")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKcontrol" OR "Control")) AND ("TOKengineer" OR "Engineer")) AND "Mechatronics") AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineer")) AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "engineering")) AND ("TOKengineer" OR "Engineering")) AND ("TOKgraduate" OR "Graduate")) AND ") ANDNOT (") AND ("TOKRecruitment" OR "Recruitment")) AND ("TOKconsultant" OR "consultant")) AND ("TOKtrainee" OR "trainee")) AND ("TOKRecruitment" OR "recruitment"))'
    
    select * from CONTAINSTABLE(test_table, *, @keywords, 1000) 
  • Εκτελέστε το ερώτημα.
Σε αυτό το σενάριο, ενδέχεται να παρουσιαστεί ένα σφάλμα "yielding χωρίς το Χρονοδιάγραμμα". Επιπλέον, δημιουργείται ένα αρχείο mini-dump στο φάκελο καταγραφής SQL Server 2008 ή SQL Server 2008 R2 εφαρμογής και το ακόλουθο μήνυμα λάθους καταγράφεται στο αρχείο καταγραφής σφαλμάτων του διακομιστή SQL:
<time stamp=""></time>Διακομιστή Χρήση του έκδοσης 'dbghelp.dll', '4.0.5'
<time stamp=""></time>Διακομιστής *** Δεν είναι δυνατή Η λήψη περιβάλλοντος νήματος για το spid 0
<time stamp=""></time>Διακομιστής *
*******************************************************************************
<time stamp=""></time>Διακομιστής *
<time stamp=""></time>Διακομιστή * ΈΝΔΕΙΞΗ της ΣΤΟΊΒΑΣ BEGIN:
<time stamp=""></time>Διακομιστής *<time></time>SPID<spid></spid>
<time stamp=""></time>Διακομιστής *
<time stamp=""></time>Διακομιστή * Χρονοδιάγραμμα χωρίς yielding
<time stamp=""></time>Διακομιστής *
<time stamp=""></time>Διακομιστής *
*******************************************************************************
<time stamp=""></time>Διακομιστής Υπογραφή στοίβας για την ένδειξη σφαλμάτων είναι 0x000000000000030D
<time stamp=""></time>Διακομιστής Διαδικασίας ένδειξης εξωτερικών 0x20000001 κωδικό επιστροφής. Διαδικασία εξωτερικής ένδειξης σφαλμάτων που επιστρέφονται χωρίς σφάλματα.
<time stamp=""></time>Η διεργασία διακομιστή 0: 0: 0 (0xf94) εργασίας 0x00000000817481A0 φαίνεται να είναι μη yielding σε 0 για το χρονοδιάγραμμα. Ώρα δημιουργίας του νήματος: 12925321224306. Χρήση Approx νήμα CPU: πυρήνα 62 ms, χρήστης 75187 ms. διαδικασία χρήσης 98%. Σύστημα σε αδράνεια 0%. Διάστημα: 76403 ms.
<time stamp=""></time>Η διεργασία διακομιστή 0: 0: 0 (0xf94) εργασίας 0x00000000817481A0 φαίνεται να είναι μη yielding σε 0 για το χρονοδιάγραμμα. Ώρα δημιουργίας του νήματος: 12925321224306. Χρήση Approx νήμα CPU: πυρήνας 125 ms, χρήστης 145250 ms. διαδικασία χρήσης 98%. Σύστημα σε αδράνεια 0%. Διάστημα: 148417 ms.
<time stamp=""></time>Η διεργασία διακομιστή 0: 0: 0 (0xf94) εργασίας 0x00000000817481A0 φαίνεται να είναι μη yielding σε 0 για το χρονοδιάγραμμα. Ώρα δημιουργίας του νήματος: 12925321224306. Χρήση Approx νήμα CPU: πυρήνα 171 ms, χρήστης 205515 ms. διαδικασία χρήσης 98%. Σύστημα σε αδράνεια 0%. Διάστημα: 209729 ms.
<time stamp=""></time>Η διεργασία διακομιστή 0: 0: 0 (0xf94) εργασίας 0x00000000817481A0 φαίνεται να είναι μη yielding σε 0 για το χρονοδιάγραμμα. Ώρα δημιουργίας του νήματος: 12925321224306. Χρήση Approx νήμα CPU: πυρήνα 218 ms, χρήστης 266343 ms. διαδικασία χρήσης 98%. Σύστημα σε αδράνεια 0%. Διάστημα: 271588 ms.
<time stamp=""></time>Η διεργασία διακομιστή 0: 0: 0 (0xf94) εργασίας 0x00000000817481A0 φαίνεται να είναι μη yielding σε 0 για το χρονοδιάγραμμα. Ώρα δημιουργίας του νήματος: 12925321224306. Χρήση Approx νήμα CPU: πυρήνα 234 ms, χρήστης 325156 ms. διαδικασία χρήσης 97%. Σύστημα σε αδράνεια 0%. Διάστημα: 333671 ms.
<time stamp=""></time>Η διεργασία διακομιστή 0: 0: 0 (0xf94) εργασίας 0x00000000817481A0 φαίνεται να είναι μη yielding σε 0 για το χρονοδιάγραμμα. Ώρα δημιουργίας του νήματος: 12925321224306. Χρήση Approx νήμα CPU: πυρήνα 296 ms, χρήστης 386000 ms. διαδικασία χρήσης 97%. Σύστημα σε αδράνεια 0%. Διάστημα: 396370 ms.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ο SQL Server 2008 ή SQL Server 2008 R2 δεν αφήσετε ένα χρονοδιάγραμμα σωστά.

Προτεινόμενη αντιμετώπιση

Πληροφορίες αθροιστικής ενημερωμένης έκδοσης

SQL Server 2008 R2

Η επιδιόρθωση για αυτό το θέμα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 5. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για τον SQL Server 2008 R2, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2438347Αθροιστική ενημερωμένη έκδοση πακέτου 5 για SQL Server 2008 R2
ΣΗΜΕΙΩΣΗΕπειδή το εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα θα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλαμβάνονταν στο προηγούμενο SQL Server 2008 R2 διορθώσει την έκδοση. Σας συνιστούμε να εξετάσετε εφαρμόζοντας την πιο πρόσφατη έκδοση της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
981356Το SQL Server 2008 R2 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2

SQL Server 2008 Service Pack 1

Η επιδιόρθωση για αυτό το θέμα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 10 για SQL Server 2008 Service Pack 1. Για περισσότερες πληροφορίες σχετικά με την αθροιστική ενημερωμένη έκδοση αυτού του πακέτου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2279604Αθροιστική ενημερωμένη έκδοση πακέτου 10 για SQL Server 2008 Service Pack 1
ΣΗΜΕΙΩΣΗΕπειδή το εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα θα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που είχαν περιληφθεί σε προηγούμενες SQL Server 2008 να διορθώσει την έκδοση. Η Microsoft συνιστά να λάβετε υπόψη σας εφαρμόζοντας την πιο πρόσφατη έκδοση της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
970365Το SQL Server 2008 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 1
Στον Microsoft SQL Server 2008 επείγουσες επιδιορθώσεις που δημιουργούνται για συγκεκριμένο SQL Server service pack. Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2008 Service Pack 1 για την εγκατάσταση του SQL Server 2008 Service Pack 1. Από προεπιλογή, επείγουσα επιδιόρθωση που παρέχεται σε ένα service pack του SQL Server περιλαμβάνεται στο επόμενο service pack του SQL Server.

SQL Server 2008 Service Pack 2

Η επιδιόρθωση για αυτό το θέμα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 1 για SQL Server 2008 Service Pack 2. Για περισσότερες πληροφορίες σχετικά με την αθροιστική ενημερωμένη έκδοση αυτού του πακέτου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2289254Αθροιστική ενημερωμένη έκδοση 1 για τον SQL Server 2008 Service Pack 2
ΣΗΜΕΙΩΣΗΕπειδή το εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα θα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που είχαν περιληφθεί σε προηγούμενες SQL Server 2008 να διορθώσει την έκδοση. Σας συνιστούμε να εξετάσετε εφαρμόζοντας την πιο πρόσφατη έκδοση της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
2402659Το SQL Server 2008 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 2

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε ένα θησαυρό αναζήτησης πλήρους κειμένου για να ορίσετε τα συνώνυμα από το κατηγόρημα.

Για να το κάνετε αυτό, χρησιμοποιήστε τηFORMSOFλειτουργεί μαζί με τοΘΗΣΑΥΡΌΣτιμή και στη συνέχεια να προσθέσετε όλες τις λέξεις-κλειδιά ως παραμέτρους.

Για το παράδειγμα που περιγράφεται στην ενότητα "Συμπτώματα", η ακόλουθη είναι μια ενημερωμένη έκδοση του δείγματος ερωτήματος:
Select * from test_table where Contains(*,'FORMSOF (THESAURUS,"architectural","engineer","Mechanical","Engineering","Electronics","Engineer","Electrical","Control","Systems","Project","Manager","Manufacturing","Metallurgy","Metallurgist","Process",”Design”,"Technology","Production","Quality","Control","Civil","Graduate","Recruitment","consultant","trainee","recruitment")')

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα θέμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για".

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τοCONTAINSTABLEλειτουργία, επισκεφθείτε την ακόλουθη τοποθεσία Web Microsoft Developer Network (MSDN):
Γενικές πληροφορίες σχετικά με τη συνάρτηση CONTAINSTABLE
Για περισσότερες πληροφορίες σχετικά με το μοντέλο διαχείρισης Επαυξητικός τύπος για τον SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
935897Είναι διαθέσιμα από την ομάδα του SQL Server για την παράδοση επείγουσες επιδιορθώσεις για προβλήματα που έχουν αναφερθεί ένα Επαυξητικός τύπος μοντέλου διαχείρισης
Για περισσότερες πληροφορίες σχετικά με τη διάταξη ονομασίας των ενημερωμένων εκδόσεων του SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
822499Νέα διάταξη ονομασίας για πακέτα ενημερωμένων εκδόσεων λογισμικού του Microsoft SQL Server
Για περισσότερες πληροφορίες σχετικά με την ορολογία ενημερωμένων εκδόσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
824684Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερώσεων λογισμικού της Microsoft

Ιδιότητες

Αναγν. άρθρου: 2344600 - Τελευταία αναθεώρηση: Δευτέρα, 20 Δεκεμβρίου 2010 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Service Pack 1
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
Λέξεις-κλειδιά: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2344600 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:2344600

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com