Příznaky
Předpokládejme, že máte databázi, která obsahuje skupiny souboru jen pro čtení, v Microsoft SQL serveru 2014. Při spuštění příkazu DBCC CHECKDB v databázi nemůže příkaz DBCC vytvořit snímek databáze pro databázi. Pokud se nejedná o žádné jiné připojení k databázi, bude operace DBCC dokončena bez chyb. Zobrazí se ale následující chybová zpráva:
Příkaz DBCC CHECKDB nekontroluje konzistenci katalogu systému SQL Server ani služby Service Broker, protože nebyl vytvořen snímek databáze nebo protože byla zadán příkaz WITH TABLOCK.
Pokud jsou k databázi jiná připojení, operace DBCC selže a zobrazí se následující chybová zpráva:
Msg 5030, úroveň 16, stav 12, databázi line 1The nebylo možné k provedení operace použít výhradně. Msg 7926, (úroveň 16, stav 1) příkaz line 1Check byl přerušen. Databázi nelze zkontrolovat, protože nelze vytvořit snímek databáze a databázi nebo tabulku nelze uzamknout. Podrobné informace o tom, kdy se toto chování očekává, a o tom, jak postupovat, najdete v knihách online. Další podrobnosti najdete také v předchozích chybách.
Řešení
Informace o kumulativní aktualizaci
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:
Další informace
Tento problém můžete vyřešit spuštěním následujících příkazů na SQL serveru:
-- 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.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.