Η Microsoft διανέμει τις επιδιορθώσεις του Microsoft SQL Server 2008 Service Pack 3 (SP3) ή του Microsoft SQL Server 2008 R2 ως ένα αρχείο με δυνατότητα λήψης. Επειδή οι επιδιορθώσεις είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη έκδοση του SQL Server 2008 SP3 ή του SQL Server 2008 R2 Update.
Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
-
Μπορείτε να δημιουργήσετε διαμερίσματα για έναν πίνακα στον SQL Server 2008 ή στον SQL Server 2008 R2.
-
Δεν ενεργοποιείτε τη συμπίεση σε όλα τα διαμερίσματα.
-
Προσπαθείτε να εισαγάγετε μια εγγραφή σε ένα νέο κενό διαμέρισμα.
Σε αυτό το σενάριο, παρουσιάζεται μια παραβίαση πρόσβασης και καταγράφεται το ακόλουθο σφάλμα στο αρχείο καταγραφής σφαλμάτων του SQL Server:
<Date> <Time> spid## ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt<Date> <Time> spid## SqlDumpExceptionHandler: Process 66 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.<Date> <Time> spid## * BEGIN STACK DUMP:<Date> <Time> spid## * Exception Address = 0000000000C37D22 Module(sqlservr+0000000000137D22)<Date> <Time> spid## * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION<Date> <Time> spid## * Access Violation occurred reading address 0000000000000020
Σημείωση Αυτό το πρόβλημα παρουσιάζεται επίσης στον Microsoft SQL Server 2008 R2.
Επίλυση
Πληροφορίες αθροιστικής ενημέρωσης
SQL Server 2008 Service Pack 2
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε για πρώτη φορά στην αθροιστική ενημερωμένη έκδοση 8 για τον SQL Server 2008 Service Pack 2. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστικής ενημερωμένης έκδοσης, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2648096 Πακέτο αθροιστικών ενημερώσεων 8 για τον SQL Server 2008 Service Pack 2Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2008 έκδοση της ενημέρωσης κώδικα. Η Microsoft συνιστά να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
2402659 Ο SQL Server 2008 δημιουργεί τα οποία κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 2 Οι επείγουσες επιδιορθώσεις του Microsoft SQL Server 2008 δημιουργούνται για συγκεκριμένα Service Pack του SQL Server. Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2008 Service Pack 2 σε μια εγκατάσταση του SQL Server 2008 Service Pack 2. Από προεπιλογή, οποιαδήποτε επείγουσα επιδιόρθωση που παρέχεται σε ένα Service Pack του SQL Server περιλαμβάνεται στο επόμενο Service Pack του SQL Server.
SQL Server 2008 R2
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 11. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008 R2, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2633145 Πακέτο αθροιστικών ενημερώσεων 11 για τον SQL Server 2008 R2 Σημείωση Επειδή οι εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη έκδοση της ενημέρωσης κώδικα του SQL Server 2008 R2. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
981356 Οι εκδόσεις του SQL Server 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2
SQL Server 2008 R2 Service Pack 1
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 4 για τον SQL Server 2008 R2 Service Pack 1. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2633146 Αθροιστική ενημερωμένη έκδοση πακέτου 4 για τον SQL Server 2008 R2 Service Pack 1Σημείωση Επειδή οι εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη έκδοση της ενημέρωσης κώδικα του SQL Server 2008 R2. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
2567616 Οι εκδόσεις του SQL Server 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 Service Pack 1
SQL Server 2008 Service Pack 3
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε για πρώτη φορά στο πακέτο αθροιστικών ενημερώσεων 2 για τον SQL Server 2008 Service Pack 3. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008 Service Pack 3, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2633143 Αθροιστική ενημερωμένη έκδοση πακέτου 2 για τον SQL Server 2008 Service Pack 3Σημείωση Επειδή οι εκδόσεις είναι αθροιστικές, κάθε νέα ενημερωμένη έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη έκδοση του SQL Server 2008 Service Pack 3. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
2629969 Ο SQL Server 2008 δημιουργεί τα οποία κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 3
Περισσότερες πληροφορίες
Για να επιβεβαιώσετε εάν αντιμετωπίζετε το ζήτημα που περιγράφεται σε αυτό το άρθρο της Γνωσιακής βάσης, ακολουθήστε τα παρακάτω βήματα:
-
Ανοίξτε μια σύνδεση DAC με τον SQL Server και εκτελέστε το ακόλουθο ερώτημα:
Use <your_db_name>select * from sys.sysrscols rsc where rsc.rsid in ( select sau.container_idfrom sys.system_internals_allocation_units sau join sys.partitions pt on sau.container_id = pt.partition_idand pt.object_id = object_id(<YourPartitionedTable>) and pt.index_id = 1)
Σημείωση Σε αυτό το ερώτημα, <YourPartitionedTable> είναι ένα σύμβολο κράτησης θέσης για το όνομα του πίνακα διαμερισμάτων.
-
Στην έξοδο του ερωτήματος, επιλέξτε εάν η στήλη rscolid περιέχει μια μεγάλη τιμή. Ακολουθεί ένα παράδειγμα μιας τέτοιας μεγάλης τιμής:
rsid
rscolid
hbcolid
rcmodified
Ti
CID
ordkey m
72057594380091392
0
1
614911578
56
0
4
72057594380091392
11
13
614911578
12967
53265
0
72057594380091392
12
14
614911578
32999
53265
0
72057594380091392
13
15
614911578
32999
53265
0
72057594380091392
14
16
614911578
59
0
0
72057594380091392
15
17
614911578
59
0
0
72057594380091392
17
18
614911578
1834
0
0
72057594380091392
67108865
19
614911578
19627
53625
0
72057594380091392
22
23
614911578
56
0
0
72057594380091392
23
24
614911578
10407
53625
0
72057594380091392
24
25
614911578
662636
0
0
Σε αυτό το παράδειγμα, η τιμή του 67108865 είναι σημαντικά μεγαλύτερη από άλλες. Αυτό υποδηλώνει ότι αντιμετωπίζετε το πρόβλημα που περιγράφεται σε αυτό το άρθρο της Γνωσιακής βάσης.
Για να επιλύσετε αυτό το ζήτημα, δημιουργήστε ξανά τα διαμερίσματα που επηρεάζονται. Παρακαλούμε επικοινωνήστε με την υποστήριξη της Microsoft για να μάθετε ποια διαμερίσματα εμπλέκονται. Εναλλακτικά, μπορείτε να δημιουργήσετε ξανά όλα τα διαμερίσματα χρησιμοποιώντας το ακόλουθο ερώτημα:
ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".