Sümptomid
Oletame, et teil on Microsoft SQL Server 2014 kirjutuskaitstud filegroups sisaldav andmebaas. Kui käivitate andmebaasist DBCC CHECKDB , ei saa DBCC käsk andmebaasi hetktõmmist luua. Kui andmebaasiga pole ühendust, on DBCC-toiming lõpule viidud ilma tõrgeteta. Kuid kuvatakse järgmine tõrketeade:
DBCC CHECKDB ei kontrolli SQL serveri kataloogi või teenuse maakleri järjepidevust, kuna andmebaasi hetktõmmist ei saanud luua või on määratud TABLOCK.
Kui andmebaasiga on seotud muid ühendusi, siis DBCC-toiming nurjub ja kuvatakse järgmine tõrketeade:
MSG 5030, tase 16, olek 12, rea 1The andmebaasi ei saanud ainult lukustatud toimingu tegemiseks. MSG 7926, tase 16, olek 1, rea 1Check lause katkestatud. Andmebaasi ei saanud kontrollida andmebaasi hetktõmmist ei saanud luua ja andmebaasi või tabelit ei saanud lukustada. Lisateavet selle kohta, millised lahendused on olemas, leiate teemast raamatud võrgus. Lisateavet leiate ka eelmistest tõrketeadetest.
Lahendus
Kumulatiivse värskenduse teave
Probleem parandati esmakordselt SQL serveri järgmises koondvärskenduses.
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Soovitame teil alla laadida ja installida kumulatiivseid värskendusi SQL serveri jaoks:
Lisateave
Selle probleemi reprodutseerimiseks käivitage SQL serveri järgmised käsud.
-- 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.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.