ΕΝΗΜΕΡΩΣΗ: Ερωτήματος με το επίπεδο απομόνωσης συναλλαγής, ορισμός για ΑΝΆΓΝΩΣΗ έχουν ΟΛΟΚΛΗΡΩΘΕΊ αποτυγχάνει με σφάλμα 601

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 815008 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
ΣΦΆΛΜΑ #: 363988 (SHILOH_BUGS)
Ανάπτυξη όλων | Σύμπτυξη όλων

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

Συμπτώματα

Όταν εκτελείται ένα ερώτημα με το επίπεδο απομόνωσης συναλλαγής Ορισμός για ΑΝΆΓΝΩΣΗ έχουν ΟΛΟΚΛΗΡΩΘΕΊ, το SQL Server 2000 ματαιώνει το ερώτημα και επιστρέφει το ακόλουθο μήνυμα λάθους:

Διακομιστή: Κατάσταση μήνυμα λάθους 601, 12, επίπεδο 3, γραμμή 14
Δεν ήταν δυνατή η συνέχιση σάρωσης με NOLOCK οφείλεται σε κίνηση δεδομένων.

Αιτία

Αυτή η συμπεριφορά ενδέχεται να παρουσιαστεί όταν διαγράφεται μια γραμμή σε έναν πίνακα μεταξύ της ώρας του SQL Server διαβάζει τη θέση της γραμμής από το ευρετήριο και την ώρα του SQL Server λαμβάνει τη γραμμή.

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

Πληροφορίες για το Service Pack

Για να επιλύσετε αυτό το ζήτημα, αποκτήστε το πιο πρόσφατο service pack για τον Microsoft SQL Server 2000. Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
290211Τρόπος απόκτησης του τελευταίου Service Pack του SQL Server 2000

Πληροφορίες άμεσης επιδιόρθωσης

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, αυτές μετατρέπονται στην τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε τηνΖώνη ώραςκαρτέλα στο εργαλείο "ημερομηνία και ώρα" στον πίνακα ελέγχου.
Date		Time	Version		Size		 File name
-----------------------------------------------------------------------------

07-Feb-2003	16:14			  786,432 bytes  Distmdl.ldf
07-Feb-2003	16:14			2,359,296 bytes  Distmdl.mdf
29-Jan-2003	12:25			      180 bytes  Drop_repl_hotfix.sql
31-Jan-2003	11:02	2000.80.763.0	1,557,052 bytes	 Dtsui.dll     
29-Jan-2003	15:48			  746,470 bytes  Instdist.sql
29-Jan-2003	12:25	                    1,402 bytes  Inst_repl_hotfix.sql
07-Feb-2003	17:10	2000.80.765.0      90,692 bytes  Msgprox.dll  
29-Jan-2003	11:48	7.0.9466.0        344,064 bytes  Msvcr70.dll      
29-Jan-2003	11:48	2000.80.722.0      57,904 bytes  Osql.exe         
07-Feb-2003	14:23                   1,065,895 bytes  Replmerg.sql
07-Feb-2003	17:10	2000.80.765.0	  221,768 bytes  Replprov.dll     
07-Feb-2003	17:10	2000.80.765.0     307,784 bytes  Replrec.dll      
29-Jan-2003	15:48		   	1,084,318 bytes  Replsys.sql
29-Jan-2003	11:48	2000.80.534.0	  127,548 bytes  Sqdedev.dll    
07-Feb-2003	17:10	2000.80.765.0	  176,696 bytes  Sqlmap70.dll  
07-Feb-2003	17:10	2000.80.765.0	   57,920 bytes  Sqlrepss.dll    
14-Feb-2003	13:22	2000.80.769.0   7,512,145 bytes  Sqlservr.exe   
29-Jan-2003	11:48	2000.80.194.0     180,290 bytes  Sqlunirl.dll     
07-Feb-2003	17:10	2000.80.765.0      45,644 bytes  Sqlvdi.dll   
07-Feb-2003	17:10	2000.80.765.0      82,492 bytes  Ssnetlib.dll     
				
ΣΗΜΕΙΩΣΗΕξαιτίας εξαρτήσεων αρχείων, η πιο πρόσφατη επείγουσα επιδιόρθωση ή η δυνατότητα που περιέχει τα αρχεία ενδέχεται να περιέχουν πρόσθετα αρχεία.


Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα θέμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για".Το ζήτημα αυτό διορθώθηκε αρχικά στο Microsoft SQL Server 2000 Service Pack 4.

Περισσότερες πληροφορίες

Μετά την εγκατάσταση της επείγουσας επιδιόρθωσης, μπορείτε να χρησιμοποιήσετε τη σημαία παρακολούθησης 9134 για να αλλάξετε τη συμπεριφορά του SQL Server. Για να ενεργοποιήσετε τη σημαία παρακολούθησης 9134, έτσι ώστε να είναι ενεργή κάθε φορά SQL Server ξεκινά, να προσθέσετε τη σημαία παρακολούθησης με την παράμετρο εκκίνησης του SQL Server. Για να προσθέσετε τη σημαία παρακολούθησης 9134 με την παράμετρο εκκίνησης του SQL Server, ακολουθήστε τα εξής βήματα:
  1. Στον SQL Server Enterprise Manager, κάντε δεξιό κλικ στο διακομιστή που εκτελεί τον SQL Server και στη συνέχεια κάντε κλικ στο κουμπίΙδιότητες (Properties).
  2. Στο διακομιστήΓενικάκαρτέλα, κάντε κλικ στο κουμπίΕκκίνηση παράμετροι.
  3. ΣτοΠαράμετροςπλαίσιο κειμένου, πληκτρολογήστε-T9134Κάντε κλικADD, και στη συνέχεια κάντε κλικ στο κουμπίOk.
  4. ΣτοSQL Server Properties(Configure)-Όνομα_διακομιστή>παράθυρο διαλόγου, κάντε κλικ στο κουμπίOk.
  5. Κάντε επανεκκίνηση της υπηρεσίας του SQL Server για τη νέα παράμετρο για να τεθούν σε ισχύ.
Εναλλακτικά, μπορείτε να εκτελέσετε το παρακάτω ερώτημα στο Query Analyzer για την ενεργοποίηση δυναμικά τη σημαία παρακολούθησης:
DBCC TRACEON (9134, -1)
Ωστόσο, εάν δεν προσθέσετε τη σημαία παρακολούθησης 9134 με την παράμετρο εκκίνησης, το αποτέλεσμα της εντολής TRACEON DBCC χάνονται όταν γίνει επανεκκίνηση της υπηρεσίας του SQL Server.

Όταν είναι ενεργοποιημένη η σημαία παρακολούθησης 9134 και διαγράφεται ή τροποποιηθεί ανάμεσα στο SQL Server διαβάζει τη θέση της γραμμής και το χρόνο που λαμβάνει η γραμμή μέσω ενός σελιδοδείκτη αναζήτησης μιας γραμμής, το ερώτημα δεν θα ματαιωθεί ή θα επιστρέψει σφάλμα 601. Αντίθετα, SQL Server αγνοεί τη γραμμή που δεν είναι δυνατό να εντοπιστεί και συνεχίζει να σαρώνει για πρόσθετες γραμμές που ικανοποιούν τα κριτήρια του ερωτήματος. Επομένως, συνεχίζει την εκτέλεση του ερωτήματος, ωστόσο, τα αποτελέσματα που επιστρέφει το SQL Server ενδέχεται να μην περιλαμβάνουν γραμμές που έχουν διαγραφεί ή μετακινηθεί κατά την εκτέλεση του ερωτήματος.

ΣΗΜΕΙΩΣΗΟρίστε τις πληροφορίες σε αυτό το άρθρο και η παρακολούθηση σημαίας εφαρμόζονται μόνο σε ένα ερώτημα που εκτελείται με το επίπεδο απομόνωσης συναλλαγής για ΑΝΆΓΝΩΣΗ έχουν ΟΛΟΚΛΗΡΩΘΕΊ. Οι πληροφορίες δεν ισχύει για ένα ερώτημα που εκτελείται με την υπόδειξη βελτιστοποιητή NOLOCK. Στην περίπτωση αυτή, η συμπεριφορά παραμένει αμετάβλητη από τι είναι όπως περιγράφεται στην ενότητα "Συμπτώματα".

Επίσης, η σημαία παρακολούθησης δεν επηρεάζει το γεγονός ότι άλλες ασυνέπειες σφάλματα και τα δεδομένα μπορεί να προκύψει κατά την ανάγνωση δεδομένων που έχουν ολοκληρωθεί. Για περισσότερες πληροφορίες σχετικά με τα επίπεδα απομόνωσης που υποστηρίζονται από το SQL Server και το αποτέλεσμα της χρήσης κάθε επίπεδο απομόνωσης, ανατρέξτε στο θέμα "Κλείδωμα" στα ηλεκτρονικά βιβλία SQL Server Books Online.

Microsoft δεν συνιστά τη χρήση αυτής της σημαίας παρακολούθησης, εκτός αν ισχύουν τα εξής:
  • Η εφαρμογή χρησιμοποιείται απαιτεί ΑΝΑΓΝΩΣΗ επίπεδο απομόνωσης που έχουν ΟΛΟΚΛΗΡΩΘΕΊ.
  • The application in use is experiencing a large number of 601 errors.
  • You understand that when you use the trace flag, the rows that were deleted or moved during the query execution are ignored.
ΣΗΜΕΙΩΣΗBefore you use the READ UNCOMMITTED isolation level, you must understand its functionality. For more information about the READ UNCOMMITTED isolation level, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms171885.aspx

Αναφορές

Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
235880INF: Optimizer Hint NOLOCK or Isolation Level READ UNCOMMITTED Generates Error 605
For more information, visit the following MSDN Web sites:
Troubleshooting Error 601
http://msdn2.microsoft.com/en-us/library/aa258726(SQL.80).aspx
SET TRANSACTION ISOLATION LEVEL
http://msdn2.microsoft.com/en-us/library/aa259216(SQL.80).aspx

Ιδιότητες

Αναγν. άρθρου: 815008 - Τελευταία αναθεώρηση: Τετάρτη, 22 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
Λέξεις-κλειδιά: 
kbhotfixserver kbqfe kbsqlserv2000presp4fix kbbug kberrmsg kbfix kbmt KB815008 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:815008

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

 

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