KB3099548 - FIX: Impossibile creare snapshot del database quando si usa DBCC CHECKDB in SQL Server 2014

Si applica a
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Si supponga di disporre di un database contenente filegroup di sola lettura in Microsoft SQL Server 2014. Quando si esegue DBCC CHECKDB nel database, il comando DBCC non può creare uno snapshot del database per il database.

Se non è presente nessun'altra connessione al database, l'operazione DBCC viene completata senza errori. Viene tuttavia visualizzato il messaggio di errore seguente:

Nota

DBCC CHECKDB non controlla la coerenza del catalogo di SQL Server o di Service Broker perché non è stato possibile creare uno snapshot del database o perché è stato specificato WITH TABLOCK.

Se sono presenti altre connessioni al database, l'operazione DBCC non riesce e viene visualizzato il messaggio di errore seguente:

Nota

Messaggio 5030, livello 16, stato 12, riga 1
Non è stato possibile bloccare esclusivamente il database per eseguire l'operazione.
Messaggio 7926, livello 16, stato 1, riga 1
Istruzione di controllo interrotta. Non è stato possibile controllare il database perché non è stato possibile creare uno snapshot del database e non è possibile bloccare il database o la tabella. Per informazioni dettagliate sui casi in cui è previsto questo comportamento e sulle soluzioni alternative disponibili, vedere la documentazione online. Per altri dettagli, vedere anche gli errori precedenti.

Risoluzione

Informazioni sull'aggiornamento cumulativo

Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server.

Consiglio: installare l'aggiornamento cumulativo più recente per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. È consigliabile scaricare e installare gli aggiornamenti cumulativi più recenti per SQL Server:

Altre informazioni

Per riprodurre questo problema, eseguire i comandi seguenti in SQL Server:

Nota

-- 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.

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".