Συμπτώματα
Ας υποθέσουμε ότι έχετε μια βάση δεδομένων που περιέχει μόνο για ανάγνωση filegroups στον Microsoft SQL Server 2014. Όταν εκτελείτε DBCC CHECKDB στη βάση δεδομένων, η εντολή DBCC δεν μπορεί να δημιουργήσει ένα στιγμιότυπο βάσης δεδομένων για τη βάση δεδομένων. Εάν δεν υπάρχει άλλη σύνδεση με τη βάση δεδομένων, η λειτουργία DBCC ολοκληρώνεται χωρίς σφάλματα. Ωστόσο, λαμβάνετε το ακόλουθο μήνυμα σφάλματος:
Η εντολή DBCC CHECKDB δεν θα τσεκάρει τον κατάλογο του SQL Server ή τη συνέπεια του μεσίτη υπηρεσιών, επειδή δεν ήταν δυνατή η δημιουργία στιγμιότυπου βάσης δεδομένων ή επειδή έχει καθοριστεί το TABLOCK.
Εάν υπάρχουν άλλες συνδέσεις στη βάση δεδομένων, η λειτουργία DBCC αποτυγχάνει και λαμβάνετε το ακόλουθο μήνυμα σφάλματος:
MSG 5030, επίπεδο 16, κατάσταση 12, γραμμή βάσης δεδομένων 1η δεν ήταν δυνατό να κλειδωθεί αποκλειστικά για να εκτελεστεί η λειτουργία. Msg 7926, επίπεδο 16, κατάσταση 1, πρόταση 1Check της εντολής ματαιώθηκε. Η βάση δεδομένων δεν ήταν δυνατό να ελεγχθεί καθώς δεν ήταν δυνατή η δημιουργία στιγμιότυπου βάσης δεδομένων και η βάση δεδομένων ή ο πίνακας δεν ήταν δυνατό να κλειδωθεί. Δείτε τα βιβλία online για λεπτομέρειες σχετικά με το πότε αναμένεται αυτή η συμπεριφορά και ποιες λύσεις υπάρχουν. Δείτε επίσης προηγούμενα σφάλματα για περισσότερες λεπτομέρειες.
Επίλυση
Πληροφορίες αθροιστικής ενημέρωσης
Το πρόβλημα διορθώθηκε για πρώτη φορά με την ακόλουθη αθροιστική ενημέρωση του SQL Server.
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Συνιστούμε να κάνετε λήψη και εγκατάσταση των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Περισσότερες πληροφορίες
Για να αναπαραγάγετε αυτό το πρόβλημα, εκτελέστε τις ακόλουθες εντολές στον SQL Server:
-- Open a new query that is named conn1, and then create a new database. CREATE DATABASE DbTest GO -- Add a new file group. ALTER DATABASE DbTest ADD FILEGROUP FGTest GO -- Add a file to the new file group. ALTER DATABASE DbTest ADD FILE (NAME=DbTest_Data2, FILENAME=''C:\temp\DbTest_Data2.ndf') TO FILEGROUP FGTest GO -- Change the file group to read-only. ALTER DATABASE DbTest MODIFY FILEGROUP FGTest READONLY GO -- Run the DBCC CHECK command in the conn1 query. DBCC CHECKDB (DbTest) -- The DBCC CHECK command runs correctly. However, you may receive the following message: "DBCC CHECKDB will not check SQL Server catalog or Service Broker consistency because a database snapshot could not be created or because WITH TABLOCK was specified." -- Open a new query window that is named conn2, and then set the database as DbTest. This action opens a connection to the DbTest database. -- Return to the conn1 query, and run the DBCC command again. DBCC CHECKDB (DbTest) -- Notice the error message that is mentioned in the "Symptoms" section.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".