Sintomas
Assuma que tem uma base de dados que contém grupos de ficheiros apenas de leitura no Microsoft SQL Server 2014. Quando executou o DBCC CHECKDB na base de dados, o comando DBCC não consegue criar uma base de dados instantânea para a base de dados. Se não houver outra ligação à base de dados, a operação DBCC é completada sem erros. No entanto, recebe a seguinte mensagem de erro:
O DBCC CHECKDB não verificará a consistência do catálogo do SQL Server ou do Corretor de Serviços porque não foi possível criar uma imagem de base de dados ou porque o TABLOCK foi especificado.
Se houver outras ligações à base de dados, a operação DBCC falha e recebe a seguinte mensagem de erro:
Msg 5030, Nível 16, Estado 12, Linha 1A base de dados não pôde ser bloqueada exclusivamente para realizar a operação. Msg 7926, Nível 16, Estado 1, Declaração da Linha 1Check abortada. A base de dados não pôde ser verificada uma vez que não foi possível criar uma foto de base de dados e a base de dados ou a tabela não podiam ser bloqueadas. Consulte os Livros Online para obter mais detalhes sobre quando este comportamento é esperado e quais as soluções alternativas que existem. Consulte também erros anteriores para mais detalhes.
Resolução
Informação de atualização cumulativa
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Recomendamos que descarregue e instale as últimas atualizações cumulativas para o SQL Server:
Mais Informações
Para reproduzir este problema, executar os seguintes comandos no 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.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".