ID do artigo: 926070 - Última revisão: quarta-feira, 30 de setembro de 2009 - Revisão: 2.0

Mensagens de erro podem ser registradas no log de erro do SQL Server depois de executar um comando DBCC no SQL Server

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sintomas

Executar um dos seguintes comandos DBCC no Microsoft SQL Server:
  • DBCC CHECKDB
  • DBCC CHECKALLOC
  • DBCC CHECKTABLE
  • DBCC CHECKCATALOG
  • DBCC CHECKFILEGROUP
Depois que você fizer isso, mensagens de erro semelhantes aos seguintes podem ser registradas no log de erro do SQL Server:
2006-09-01 17:33:24.48 spid54      35 transactions rolled forward in database 'ProductionData' (11). This is an informational message only. No user action is required.
2006-09-01 17:35:39.16 spid54      4 transactions rolled back in database 'ProductionData' (11). This is an informational message only. No user action is required.
2006-09-01 17:36:31.76 spid53      Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.76 spid53      E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.76 spid53      Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.76 spid53      E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.77 spid53      Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.77 spid53      E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.80 spid54      DBCC CHECKDB (ProductionData) executed by DomainName\UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 3 minutes 19 seconds.
2006-09-01 17:36:31.90 spid53      Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.90 spid53      E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.90 spid53      Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.90 spid53      E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:32.30 spid54      Error: 926, Severity: 21, State: 6.
2006-09-01 17:36:32.30 spid54      Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.

Causa

No SQL Server, os comandos DBCC usam instantâneos de banco de dados interno de somente leitura. Esses instantâneos de banco de dados são criados na mesma unidade onde os arquivos de dados correspondente do banco de dados estão localizados. Instantâneos de banco de dados aumentar em proporção à quantidade de dados alterados no banco de dados nos quais os comandos DBCC executado. Se a atividade transacional continua neste banco de dados, os instantâneos de banco de dados que são criados por comandos DBCC poderá ter problemas de espaço em disco. Porque os arquivos de instantâneo de banco de dados e os arquivos de dados reais residem na mesma unidade de disco, os dois conjuntos de arquivos "competir" para o espaço em disco. Nesse caso, transações de aplicativo ou usuário transações recebem preferência. O instantâneo de banco de dados interno usado pelo DBCC está marcado como suspeito. Portanto, os comandos DBCC enfrentar erros e não podem concluir.

Espaço em disco é um motivo por que gravações para o instantâneo de banco de dados interno podem falhar. Outros motivos, como códigos de erro de SO 1450 e 665 também pode contribuir para problemas semelhantes e processar o banco de dados interno de instantâneo para um estado suspeito.

Situação

Esse comportamento é por design.

Mais Informações

As seguintes informações importantes se aplicam às mensagens de erro mencionadas na seção "Sintomas":
  • Essas mensagens de erro são de identificadores de processo do servidor ativa diferentes (SPIDs). SPID 54 é a identificação de sessão que executa o comando DBCC. SPID 53 é a identificação de sessão que executa uma transação do usuário.
  • Essas mensagens de erro indicam sem interrupção transações direta e reversão de transações. Essas mensagens são geradas durante a fase inicial de execução do comando DBCC. Quando você executa um comando DBCC, o comando DBCC primeiro tenta criar um instantâneo interno. Quando o instantâneo é criado, a recuperação do banco de dados é executada contra esse instantâneo para trazer o instantâneo para um estado consistente. As mensagens de erro refletem essa atividade.
  • Mensagem de erro 926 indica que o banco de dados está marcado como suspeito. Essa mensagem de erro realmente refere-se para o instantâneo interno e não para o banco de dados real. O status do banco de dados for "online" e o banco de dados é funcional.
  • Mensagem de erro 17053 contém o nome dos fluxos de alternativos de sistema de arquivo do NTFS são usados para o instantâneo interno. Esta mensagem de erro indica o verdadeiro motivo para o problema.
  • O instantâneo de banco de dados interno usa o mesmo nome como o banco de dados real. Portanto, essas mensagens de erro contém o nome do banco de dados.
  • Mesmo que a mensagem de log de erro indica que DBCC CHECKDB concluída, ele deve ser considerado como um término anormal. Você deve executar novamente o comando DBCC CHECKDB para permitir a execução até que ela seja concluída para acessar a consistência do banco de dados. Nessas situações, consulte a saída do comando DBCC CHECKDB enviado de volta para o cliente para compreender quais objetos foram verificados e relatados limpa.
Para obter mais informações sobre esse problema, consulte os seguintes tópicos nos manuais online do SQL Server:
  • Uso de instantâneo de banco de dados interno do DBCC
  • Noções básicas sobre tamanhos de arquivo esparso de instantâneos de banco de dados
Execute as etapas documentadas nesses tópicos para evitar problemas de uso de espaço. Depois de corrigir qualquer problema, execute novamente os comandos DBCC.

Em adição às mensagens de erro mencionadas na seção "Sintomas", poderá receber a seguinte mensagem de erro:
Msg 5128, nível 17, estado 2, linha 6
Gravar no arquivo esparso 'E:\CreateFile\ProductionData.mdf:MSSQL_DBCC11' falha devido a falta de espaço em disco.
Nesse caso, o aplicativo cliente que executa os comandos DBCC terá as seguintes entradas no resultado do aplicativo definido:
Resultados do DBCC para 'ProductionData'.
CHECKDB encontrado erros de alocação de 0 e 0 erros de consistência no banco de dados 'ProductionData'.
Msg 926, nível 21, 6, estado 1 linha
Banco de dados 'ProductionData' não pode ser aberto. Ele foi marcado como SUSPECT pela recuperação. Consulte o errorlog do SQL Server para obter mais informações.
Msg 0, nível 20, State 0, linha 0
Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Se o instantâneo não pôde ser criado em todos os, você receberá mensagens de erro que ter o seguinte no aplicativo cliente que emite comandos DBCC aspecto:
Msg 1823, nível 16, estado 1, linha 1
Não é possível criar um instantâneo de banco de dados porque ele falhou ao iniciar.
Msg 7928, nível 16, estado 1, linha 1
Não foi possível criar o instantâneo de banco de dados para verificações online. Tanto o motivo é fornecido em um erro anterior ou um dos volumes subjacentes não suporta arquivos esparsos ou fluxos alternativos. Tentando obter acesso exclusivo para executar verificações offline.
Msg 5030, nível 16, estado 12, linha 1
O banco de dados não pôde ser bloqueado exclusivamente para executar a operação.
Msg 7926, nível 16, estado 1, linha 1
Instrução de verificação anulada. O banco de dados foi não possível fazer check-como um instantâneo de banco de dados não pôde ser criado e o banco de dados ou tabela não pôde ser bloqueada. Consulte nos manuais online para obter detalhes quando esse comportamento é esperado e quais soluções alternativas existirem. Consulte também os erros anteriores para obter mais detalhes.
Msg 5106, nível 17, estado 2, linha 1
Gravar no arquivo esparso 'E:\Data\LogFUllTest_Data.mdf:MSSQL_DBCC10' falha devido a falta de espaço em disco.
Se o instantâneo de banco de dados interno for executado em erros 1450 ou 665, aqui é uma seqüência comum que você irá notar no log de erro do SQL Server:
2008-05-21 13:03:45.67 spid500     272 transactions rolled forward in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:45.84 spid500     2 transactions rolled back in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:46.97 spid500     Recovery completed for database MYDATABASE (database ID 12) in 5 second(s) (analysis 602 ms, redo 3954 ms, undo 105 ms.) This is an informational message only. No user action is required.
2008-05-21 13:36:48.25 spid480     The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'I:\MSSQL\DATA\mscrm_data1.ndf:MSSQL_DBCC12'.
2008-05-21 13:36:48.26 spid480     Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.26 spid480     C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.27 spid480     The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'. 
2008-05-21 13:36:48.27 spid480     Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.27 spid480     C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid480     The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'. 
2008-05-21 13:36:48.37 spid480     Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.37 spid480     C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid500     DBCC CHECKDB (MYDATABASE) executed by DomainName\UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 33 minutes 16 seconds.  Internal database snapshot has split point LSN = 0000759c:002547bc:0040 and first LSN = 0000759c:0023696d:0049.  This is an informational message only. No user action is required.

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Palavras-chave: 
kbmt kbexpertiseadvanced kbtshoot kbsql2005engine kbprb KB926070 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 926070  (http://support.microsoft.com/kb/926070/en-us/ )