Simptome
Să presupunem că aveți o bază de date care conține grupuri doar în citire în Microsoft SQL Server 2014. Atunci când rulează DBCC CHECKDB în baza de date, comanda DBCC nu poate crea un instantaneu de bază de date pentru baza de date. Dacă nu există altă conexiune la baza de date, operațiunea DBCC este finalizată fără erori. Cu toate acestea, primiți următorul mesaj de eroare:
DBCC CHECKDB nu va verifica SQL Server catalog sau consecvența de broker de servicii, deoarece un instantaneu al bazei de date nu a putut fi creat sau deoarece cu TABLOCK a fost specificat.
Dacă există alte conexiuni la baza de date, operațiunea DBCC nu reușește și primiți următorul mesaj de eroare:
MSG 5030, nivel 16, stat 12, baza de date 1Fișierul linie nu a putut fi blocată exclusiv pentru a efectua operațiunea. MSG 7926, nivel 16, stat 1, instrucțiunea 1Check linie anulată. Baza de date nu a putut fi verificată, deoarece nu s-a putut crea un instantaneu al bazei de date, iar baza de date sau tabelul nu s-au blocat. Consultați cărți online pentru detalii despre când se așteaptă acest comportament și ce soluții există. De asemenea, consultați erorile anterioare pentru mai multe detalii.
Rezolvare
Informații despre actualizarea cumulativă
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Vă recomandăm să descărcați și să instalați cele mai recente actualizări cumulative pentru SQL Server:
Mai multe informații
Pentru a reproduce această problemă, rulează următoarele comenzi în 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.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.