Αναγν. άρθρου: 317375 - Τελευταία αναθεώρηση: Σάββατο, 17 Σεπτεμβρίου 2011 - Αναθεώρηση: 5.0 Ένα αρχείο καταγραφής συναλλαγών αυξάνεται απροσδόκητα ή να γεμίσει σε έναν υπολογιστή που εκτελεί τον SQL Server
Σε αυτήν τη σελίδαΠερίληψη Στον SQL Server 7.0, SQL Server 2000 και SQL Server
2005, με τη ρύθμιση "Αυτόματη Προσαρμογή", αρχεία καταγραφής συναλλαγών να αναπτυχθεί
αυτόματα. Συνήθως, το μέγεθος του αρχείου καταγραφής συναλλαγών σταθεροποιηθεί όταν μπορεί να χωρέσει το μέγιστο αριθμό των συναλλαγών που μπορεί να προκύψει μεταξύ των truncations καταγραφής συναλλαγών ότι τα σημεία ελέγχου ή συναλλαγή καταγραφής Ενεργοποιεί τα αντίγραφα ασφαλείας. Ωστόσο, σε ορισμένες περιπτώσεις το αρχείο καταγραφής συναλλαγών ίσως είναι πολύ μεγάλο και εκτέλεσης χώρο ή γίνεται πλήρης. Συνήθως, λαμβάνετε το ακόλουθο μήνυμα λάθους, όταν ένα αρχείο καταγραφής συναλλαγών καταλαμβάνει το διαθέσιμο χώρος στο δίσκο και δεν είναι δυνατό να αναπτυχθεί περαιτέρω: Σφάλμα: 9002,
Σοβαρότητα: 17, κατάσταση: 2 Το αρχείο καταγραφής για τη βάση δεδομένων ' %. * ls' είναι πλήρης. Σφάλμα: 9002, σοβαρότητας: 17,
Κατάσταση: 2 Το αρχείο καταγραφής συναλλαγών για τη βάση δεδομένων ' %. * ls' είναι πλήρης. Για να μάθετε γιατί χώρος στο αρχείο καταγραφής δεν είναι δυνατό να επαναχρησιμοποιηθούν, δείτε την στήλη log_reuse_wait_desc sys.Databases Επιπλέον, επέκτασης αρχείου καταγραφής συναλλαγών μπορεί να οδηγήσει στις ακόλουθες περιπτώσεις:
ΑιτίεςΕπέκτασης αρχείου καταγραφής συναλλαγών μπορεί να προκύψει λόγω των εξής λόγους ή σενάρια:
Μη ολοκληρωμένες συναλλαγέςΡητή συναλλαγές παραμένουν έχουν ολοκληρωθεί, αν δεν εκδίδουν ένα ρητή εντολή ΟΛΟΚΛΉΡΩΣΗΣ ή ROLLBACK. Αυτό συμβαίνει συχνά όταν ένα ζητήματα εφαρμογής ΑΚΎΡΩΣΗΣ ή μια εντολή Transact SQL KILL χωρίς ένα αντίστοιχη εντολή ROLLBACK. Παρουσιάζεται η ματαίωση της συναλλαγής, αλλά κάνετε επαναφορά. Επομένως, SQL Server δεν μπορεί να περικόψει κάθε συναλλαγής που προκύπτει μετά από αυτό, επειδή είναι ακόμα ανοιχτή η συναλλαγή ματαιώθηκε. Μπορείτε να χρήση της αναφοράς OPENTRAN DBCC Transact-SQL για να επαληθεύσετε εάν υπάρχει ένα ενεργό συναλλαγή σε μια βάση δεδομένων σε μια συγκεκριμένη χρονική στιγμή. Για περισσότερες πληροφορίες σχετικά με αυτό το συγκεκριμένο σενάριο, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:295108
(http://support.microsoft.com/kb/295108/
)
Ελλιπής συναλλαγή μπορούν να κατέχουν μεγάλο αριθμό κλειδωμάτων και αποκλεισμός υπόθεσης 171224
(http://support.microsoft.com/kb/171224/
)
Κατανόηση του πώς λειτουργεί η εντολή KILL Transact-SQL Επιπλέον, ανατρέξτε στο θέμα "dbcc opentran" SQL
Ηλεκτρονικά βιβλία διακομιστή.Σενάρια που μπορεί να οδηγήσει σε μη ολοκληρωμένες συναλλαγές:
Εξαιρετικά μεγάλες συναλλαγέςΕγγραφές καταγραφής στα αρχεία καταγραφής συναλλαγών περικόπτονται σε ένα από συναλλαγή ξεχωριστά. Εάν το πεδίο της συναλλαγής είναι μεγάλο, που συναλλαγή και τυχόν συναλλαγές ξεκίνησε μετά δεν καταργούνται από το αρχείο καταγραφής συναλλαγών εκτός και αν ολοκληρωθεί. Αυτό μπορεί να έχει ως αποτέλεσμα τα μεγάλα αρχεία καταγραφής. Εάν το η συναλλαγή είναι αρκετά μεγάλο, το αρχείο καταγραφής μπορεί να καταλάβει το διαθέσιμο χώρο στο δίσκο και τον τύπο "καταγραφή συναλλαγών πλήρους" μήνυμα λάθους όπως το σφάλμα 9002. Για πρόσθετες πληροφορίες σχετικά με το τι πρέπει να κάνετε όταν λαμβάνετε αυτόν τον τύπο του σφάλματος μήνυμα παρέχεται στην ενότητα "Περισσότερες πληροφορίες" αυτού του άρθρου. Επιπλέον, διαρκεί πολλή ώρα και SQL Server επιβάρυνση για επιστροφή μεγάλο συναλλαγές.Λειτουργίες: DBCC DBREINDEX και ΔΗΜΙΟΥΡΓΊΑ ΕΥΡΕΤΗΡΊΟΥΛόγω των αλλαγών στο μοντέλο ανάκτησης του SQL Server 2000 Όταν χρησιμοποιείτε την κατάσταση λειτουργίας πλήρους ανάκτησης και εκτέλεση DBREINDEX DBCC, η συναλλαγή αρχείο καταγραφής μπορεί να αναπτύξετε σημαντικά πιο σύγκριση του SQL Server 7.0 σε ένα λειτουργία αποκατάστασης ισοδύναμη με τη χρήση SELECT INTO ή ΜΑΖΙΚΉΣ ΑΝΤΙΓΡΑΦΉΣ και με "Trunc. Αποσυνδεθείτε από το chkpt.".Αν και το μέγεθος της κίνησης σύνδεσης μετά τη λειτουργία DBREINDEX μπορεί να είναι ένα ζήτημα, η προσέγγιση αυτή παρέχει καλύτερη αρχείο καταγραφής επιδόσεων επαναφοράς. Κατά την επαναφορά από αντίγραφα ασφαλείας του αρχείου καταγραφής συναλλαγώνΑυτό περιγράφεται στο ακόλουθο Microsoft Knowledge Base άρθρο:232196
(http://support.microsoft.com/kb/232196/
)
Ο χώρος καταγραφής χρησιμοποιείται εμφανίζεται να αυξηθούν μετά την επαναφορά από αντίγραφο ασφαλείας Εάν ορίσετε SQL Server 2000 για να χρησιμοποιήσετε μαζικής καταγραφής κατάσταση λειτουργίας και να εκδίδουν ΑΝΤΊΓΡΑΦΟ ΧΎΜΑ ή ΕΠΙΛΈΞΤΕ σε δήλωση, κάθε μέτρο που άλλαξαν σήμανση και στη συνέχεια αντίγραφα ασφαλείας όταν δημιουργείτε αντίγραφα ασφαλείας του αρχείου καταγραφής συναλλαγών. Αν και Αυτό σας επιτρέπει να αντίγραφα των αρχείων καταγραφής συναλλαγών και αποκατάσταση από αποτυχίες ακόμα μετά την εκτέλεση μαζικών λειτουργιών, αυτό αυξάνει το μέγεθος της συναλλαγής αρχεία καταγραφής. SQL Server 7.0 δεν περιλαμβάνει αυτή τη δυνατότητα. Μόνο εγγραφές του SQL Server 7.0 εκτάσεις που έχουν αλλάξει, αλλά δεν καταγράφει την πραγματικά χώρων. Επομένως, η καταγραφή καταλαμβάνει σημαντικά περισσότερο χώρο στον SQL Server 2000 από στον SQL Server 7.0 σε κατάσταση λειτουργίας μαζικής καταγραφής αλλά όχι στον ίδιο βαθμό όπως κάνει πλήρη κατάσταση λειτουργίας. Εφαρμογές-πελάτες δεν επεξεργάζονται όλα τα αποτελέσματαΕάν εκδώσετε ένα ερώτημα για SQL Server και δεν χειρίζεται το άμεσα αποτελέσματα, που μπορεί να κατέχει κλειδώματα και μείωση συνταύτισης σε σας ο διακομιστής.Για παράδειγμα, υποθέστε ότι η έκδοση ενός ερωτήματος που απαιτεί γραμμών από δύο σελίδες για να συμπληρώσετε το σύνολο αποτελεσμάτων σας. Αναλύει το SQL Server, μεταγλωττίζει, και εκτελεί το ερώτημα. Αυτό σημαίνει ότι κοινόχρηστο κλειδώματα τοποθετούνται σε δύο σελίδες που περιέχει τις γραμμές που πρέπει να πληροί το ερώτημά σας. Επιπλέον, Ας υποθέσουμε ότι δεν όλες τις γραμμές που ταιριάζουν σε ένα πακέτο Παρακράτησης SQL Server (η μέθοδος από όπου ο διακομιστής επικοινωνεί με τον υπολογιστή-πελάτη). Γέμισμα και αποστέλλονται πακέτα Παρακράτησης το πρόγραμμα-πελάτη. Αν ταιριάζουν όλες τις γραμμές από την πρώτη σελίδα πακέτου Παρακράτησης, SQL Διακομιστής απελευθερώνει το κλείδωμα κοινόχρηστο σε αυτήν τη σελίδα αλλά αφήνει κοινόχρηστο κλείδωμα σε το δεύτερη σελίδα. SQL Server αναμένει στη συνέχεια το πρόγραμμα-πελάτη να ζητήσει περισσότερα δεδομένα (μπορείτε να Αυτό γίνεται με χρήση του DBNEXTROW DBRESULTS, SQLNextRow SQLResults, ή Για παράδειγμα, FetchLast/FetchFirst). Αυτό σημαίνει ότι είναι κοινόχρηστο κλειδώματος διατηρούνται μέχρι ο υπολογιστής-πελάτης ζητά τα υπόλοιπα δεδομένα. Άλλες διαδικασίες που αίτηση δεδομένων από τη δεύτερη σελίδα ενδέχεται να αποκλειστεί. Ερωτήματα λήξει πριν από ένα αρχείο καταγραφής συναλλαγών ολοκληρώνει τη διεύρυνση και να λαμβάνετε μηνύματα λάθους false 'Πλήρους καταγραφής'Στην περίπτωση αυτή, παρότι δεν υπάρχει αρκετός χώρος στο δίσκο, έχετε ακόμα Εμφανίζεται μήνυμα λάθους "Εξαντλήθηκε ο χώρος".Αυτό που επικρατεί για SQL Server 7.0 και τον SQL Server 2000. Ένα ερώτημα μπορεί να προκαλέσει τη συναλλαγή αρχείο καταγραφής για να επεκταθεί αυτόματα αν το αρχείο καταγραφής συναλλαγών είναι σχεδόν πλήρης. Αυτό μπορεί να λαμβάνει επιπλέον χρόνος και ένα ερώτημα μπορεί να διακοπεί ή μπορεί να υπερβαίνει το χρονικό όριο το διάστημα αυτό. SQL Server 7.0 επιστρέφει σφάλμα 9002 σε αυτήν την περίπτωση. Αυτό το ζήτημα δεν ισχύει για SQL Server 2000. Στον SQL Server 2000, εάν έχετε το Αυτόματη Προσαρμογή ενεργοποιημένη επιλογή για μια βάση δεδομένων είναι εξαιρετικά μικρό χρόνος κατά την οποία ένα αρχείο καταγραφής συναλλαγών που προσπαθεί να επεκταθεί αυτόματα, αλλά δεν είναι δυνατό να Επειδή το Αυτόματη Προσαρμογή συνάρτηση εκτελείται ταυτόχρονα. Αυτό μπορεί επίσης να προκαλέσει false εμφανίσεις του σφάλματος 9002. Συνήθως, την αυτόματη επέκταση αρχείων καταγραφής συναλλαγών προκύπτει γρήγορα. Ωστόσο, στις ακόλουθες περιπτώσεις, αυτό μπορεί να διαρκέσει περισσότερο από συνήθη:
Έχετε συναλλαγέςΤο μέγεθος του αρχείου καταγραφής συναλλαγών του ο Publisher βάση δεδομένων να αναπτύξετε, εάν χρησιμοποιείτε την αναπαραγωγή. Συναλλαγές που επηρεάζουν τα αντικείμενα που αναπαράγονται επισημαίνονται ως "Για την αναπαραγωγή." Οι πράξεις αυτές, όπως οι μη ολοκληρωμένες συναλλαγές δεν διαγράφεται μετά από σημείο ελέγχου ή αφού κάνετε αντίγραφα ασφαλείας για το αρχείο καταγραφής συναλλαγών μέχρι την εργασία ανάγνωσης του αρχείου καταγραφής αντιγράφει τις συναλλαγές της βάσης δεδομένων διανομής και unmarks τους. Εάν ένα το ζήτημα με την εργασία καταγραφής reader εμποδίζει ανάγνωση αυτές τις συναλλαγές το ο Publisher βάση δεδομένων, το μέγεθος του αρχείου καταγραφής συναλλαγών μπορεί να συνεχίσει να αναπτύξετε ως ο αριθμός αυξάνεται μη αναπαραγόμενα συναλλαγές. Μπορείτε να χρησιμοποιήσετε την DBCC Αναφορά OPENTRAN Transact-SQL για να προσδιορίσετε την παλαιότερη μη αναπαραγόμενα συναλλαγή.Για περισσότερες πληροφορίες σχετικά με την αντιμετώπιση έχετε συναλλαγών, ανατρέξτε στα θέματα της "sp_replcounters" και "sp_repldone" στο διακομιστή SQL Ηλεκτρονικά βιβλία. Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft: 306769
(http://support.microsoft.com/kb/306769/
)
ΕΠΙΔΙΌΡΘΩΣΗ: Αρχείο καταγραφής συναλλαγών του στιγμιότυπου δημοσιευμένη βάση δεδομένων δεν είναι δυνατό να περικοπεί 240039
(http://support.microsoft.com/kb/240039/
)
ΕΠΙΔΙΌΡΘΩΣΗ: DBCC OPENTRAN αναφέρει πληροφορίες αναπαραγωγής 198514
(http://support.microsoft.com/kb/198514/
)
ΕΠΙΔΙΌΡΘΩΣΗ: Επαναφορά σε νέο διακομιστή προκαλεί παραμένουν στο αρχείο καταγραφής συναλλαγών Περισσότερες πληροφορίες Το αρχείο καταγραφής συναλλαγών για κάθε βάση δεδομένων γίνεται ως σύνολο
εικονικά αρχεία καταγραφής (VLFs) που βάσει των οποίων το μέγεθος καθορίζει εσωτερικά SQL Server
το συνολικό μέγεθος του αρχείου καταγραφής και το βήμα αύξησης σε χρήση όταν το αρχείο καταγραφής
επεκτείνεται. Ένα αρχείο καταγραφής πάντα επεκτείνεται σε μονάδες ολόκληρο VLFs και μόνο να συμπιέσετε
ένα όριο VLF. Μπορεί να υπάρχει ένα VLF σε μία από τρεις καταστάσεις: ΕΝΕΡΓΉ, δυνατότητα ΑΝΆΚΤΗΣΗΣ
και με δυνατότητα επανάληψης ΧΡΉΣΗΣ.
Για πρόσθετες πληροφορίες, ανατρέξτε στο θέμα "Φυσικής αρχιτεκτονικής καταγραφής συναλλαγών" στο SQL Server Books Online. Επιπλέον, μπορείτε να δείτε ένα διάγραμμα εξαιρετική και συζήτηση αυτού σε "Εσωτερικό SQL Server 7.0" σελίδα 190 (αριθμός Ron, Soukup. Μέσα Microsoft SQL Server 7.0, Microsoft Press, 1999), και επίσης σε σελίδες 182 μέσω 186 "Εσωτερικό SQL Server 2000" (Delaney, Kalen. Εσωτερικό διακομιστή Microsoft SQL 2000, Microsoft Press, 2000). Βάσεις δεδομένων SQL Server 7.0 και SQL Server 2000 έχουν το επιλογές για την αυτόματη προσαρμογή και autoshrink. Μπορείτε να χρησιμοποιήσετε αυτές τις επιλογές για να σας βοηθήσει να συμπίεση ή επέκταση αρχείου καταγραφής συναλλαγών. Για περισσότερες πληροφορίες σχετικά με το πώς αυτά επιλογές μπορεί να επηρεάσουν το διακομιστή σας, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft: 315512
(http://support.microsoft.com/kb/315512/
)
Θέματα για την αυτόματη προσαρμογή και Autoshrink ρύθμισης παραμέτρων του SQL Server Δεν υπάρχει διαφορά μεταξύ περικοπή σε σύγκριση με
η συμπίεση του αρχείου καταγραφής συναλλαγών. Όταν ο SQL Server περικόπτει ένα
αρχείο καταγραφής συναλλαγών, αυτό σημαίνει ότι τα περιεχόμενα αυτού του αρχείου (για παράδειγμα,
ολοκληρωμένες συναλλαγές) διαγράφονται. Ωστόσο, όταν προβάλλετε το μέγεθος
του αρχείου από άποψη χώρου στο δίσκο (για παράδειγμα, στην Εξερεύνηση των Windows ή
χρησιμοποιώντας το dir εντολή) το μέγεθος παραμένει αμετάβλητη. Ωστόσο, το χώρο μέσα
το αρχείο .ldf μπορούν να ξαναχρησιμοποιηθούν τώρα από νέες συναλλαγές. Μόνο όταν SQL Server
Συρρικνώνει το μέγεθος του αρχείου καταγραφής συναλλαγών, στην πραγματικότητα βλέπετε μια αλλαγή σε
το φυσικό μέγεθος του αρχείου καταγραφής.Για περισσότερες πληροφορίες σχετικά με τον τρόπο σμίκρυνση αρχεία καταγραφής συναλλαγών, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft: 256650
(http://support.microsoft.com/kb/256650/
)
Πώς να συρρικνώσετε το αρχείο καταγραφής συναλλαγών του SQL Server 7.0 272318
(http://support.microsoft.com/kb/272318/
)
Το αρχείο καταγραφής συναλλαγών στον SQL Server 2000 με DBCC SHRINKFILE συρρίκνωση Για περισσότερες πληροφορίες σχετικά με το αρχείο καταγραφής συναλλαγών του SQL Server 6.5
χρήση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:110139
(http://support.microsoft.com/kb/110139/
)
Αιτίες γεμίσει καταγραφής συναλλαγών SQL Πώς να εντοπίσετε τα ερωτήματα που καταλαμβάνουν πολύ χώρο στο αρχείο καταγραφής στον SQL Server 2005Στον SQL Server 2005, μπορείτε να χρησιμοποιήσετε την προβολή δυναμική διαχείριση sys.dm_tran_database_transactions (DMV) για να εντοπίσετε τα ερωτήματα που καταναλώνουν μεγάλες ποσότητες χώρου καταγραφής. Οι ακόλουθες στήλες της sys.dm_tran_database_transactions DMV μπορεί να είναι χρήσιμες:
Για περισσότερες πληροφορίες σχετικά με sys.dm_tran_database_transactions DMV, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft Developer Network (MSDN) στο Web: http://msdn2.Microsoft.com/en-us/library/ms186957.aspx
(http://msdn2.microsoft.com/en-us/library/ms186957.aspx)
Για περισσότερες πληροφορίες σχετικά με sys.dm_tran_session_transactions DMV, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web: http://msdn2.Microsoft.com/en-us/library/ms188739.aspx
(http://msdn2.microsoft.com/en-us/library/ms188739.aspx)
Για περισσότερες πληροφορίες σχετικά με sys.dm_exec_requests DMV, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web: http://msdn2.Microsoft.com/en-us/library/ms177648.aspx
(http://msdn2.microsoft.com/en-us/library/ms177648.aspx)
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:317375
(http://support.microsoft.com/kb/317375/en-us/
)
| Άλλοι πόροι Tοποθεσίες υποστήριξης
ΚοινότηταΆμεση λήψη βοήθειαςΜεταφράσεις άρθρων
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Επιστροφή στην αρχή
