Artigo: 926070 - Última revisão: quarta-feira, 30 de Setembro de 2009 - Revisão: 2.0

Poderão ser registadas mensagens de erro no registo de erros do SQL Server depois de executar um comando DBCC do 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 | Reduzir tudo

Sintomas

Execute um dos seguintes comandos DBCC do Microsoft SQL Server:
  • DBCC CHECKDB
  • DBCC CHECKALLOC
  • DBCC CHECKTABLE
  • DBCC CHECKCATALOG
  • DBCC CHECKFILEGROUP
Depois de o fazer, poderão ser registadas mensagens de erro semelhantes à seguinte no registo de erros 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, comandos DBCC utilizam snapshots de base de dados só de leitura interna. Estes instantâneos de base de dados são criados na mesma unidade de onde estão localizados os ficheiros de dados da base de dados correspondente. Aumentar instantâneos de base de dados em proporção com o valor de dados alterados na base de dados em relação à qual os comandos DBCC executados. Se continuar actividade transaccional nesta base de dados, de instantâneos de base de dados criados pelos comandos DBCC poderão ocorrer problemas de espaço em disco. Uma vez que os ficheiros de instantâneo da base de dados e os ficheiros de dados reais estão na mesma unidade de disco, ambos os conjuntos de ficheiros "competir" espaço em disco. Neste caso, as transacções de aplicação ou transacções de utilizador são dada preferência. O instantâneo de base de dados interna utilizado pelo DBCC está marcado como sendo suspeito. Por conseguinte, os comandos DBCC detectar erros e não consegue concluir a.

Espaço em disco é um motivo por que razão poderão falhar escritas para o snapshot de base de dados interna. Outras razões, tais como códigos de erro do SO 1450 e 665 também podem contribuir para problemas semelhantes e compor base de dados interna snapshot num estado suspeito.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

As seguintes informações importantes aplicam-se às mensagens de erro mencionadas na secção "Sintomas":
  • Estas mensagens de erro são de identificadores de processos diferente servidor activo (SPID). SPID 54 é o ID de sessão que executa o comando DBCC. SPID 53 é o ID de sessão que executa uma transacção de utilizador.
  • Estas mensagens de erro indicam graduais transacções forward e anular as transacções. Estas mensagens são geradas durante a fase inicial de execução de comandos DBCC. Quando executa um comando DBCC, o comando DBCC tenta primeiro para criar um instantâneo interno. Quando criar o instantâneo, recuperação da base de dados é executada contra este instantâneo para trazer o instantâneo para um estado consistente. As mensagens de erro reflectem esta actividade.
  • Mensagem de erro 926 indica que a base de dados está marcada como sendo suspeito. Esta mensagem de erro refere-se, na realidade, para o snapshot interno e não para a base de dados real. O estado da base de dados for "online" e a base de dados está funcional.
  • Mensagem de erro 17053 contém o nome dos NTFS ficheiro alternativos sequências de sistema utilizados para o snapshot interno. Esta mensagem de erro indica o motivo real para o problema.
  • O instantâneo da base de dados interna utiliza o mesmo nome que a base de dados real. Por este motivo, estas mensagens de erro contém o nome da base de dados.
  • Apesar da mensagem de registo indica que DBCC CHECKDB concluída, deverá ser considerado como uma terminação Abnormal. Deve executar novamente o comando DBCC CHECKDB para permitir que seja executada até ser concluída para aceder a consistência da base de dados. Nestas situações, referir-se para a saída do comando DBCC CHECKDB enviado ao cliente para compreender os objectos que foram verificados e comunicados limpo.
Para mais informações sobre este problema, consulte os seguintes tópicos no SQL Server Books Online:
  • DBCC utilização de snapshot da base de dados interna
  • Noções sobre tamanhos de ficheiros dispersos em snapshots de base de dados
Siga os passos documentados nestes tópicos para evitar problemas de utilização de espaço. Depois de corrigir qualquer problema, volte a executar os comandos DBCC.

Juntamente com as mensagens de erro mencionadas na secção "Sintomas", poderá receber a seguinte mensagem de erro:
Msg 5128, nível de 17, 2, estado da linha 6
Escrever ficheiro disperso 'E:\CreateFile\ProductionData.mdf:MSSQL_DBCC11' falhou devido à falta de espaço em disco.
Neste caso, a aplicação de cliente que executa os comandos DBCC terá as seguintes entradas no resultado da aplicação definir:
DBCC resultados de 'ProductionData'.
CHECKDB encontrados erros de atribuição de 0 e 0 consistência erros na base de dados 'ProductionData'.
Msg 926, nível de 21, estado 6, linha 1
Não é possível abrir base de dados 'ProductionData'. -Foi marcado SUSPEITO através da recuperação. Consulte errorlog do SQL Server para obter mais informações.
Msg 0, o nível de 20, State 0, 0 de linha
Ocorreu um erro grave no comando actual. Os resultados, se existirem, devem ser eliminados.
Se não foi possível criar o instantâneo de todo, receberá mensagens de erro ser semelhantes ao seguinte na aplicação cliente que emite comandos DBCC:
Msg 1823, nível de 16, estado 1, linha 1
Não é possível criar um instantâneo da base de dados porque não conseguiu iniciar.
Msg 7928, nível de 16, estado 1, linha 1
Não é possível criar o instantâneo da base de dados do verificações online. Ou o motivo é apresentado um erro anterior ou um dos volumes subjacentes não suporta ficheiros dispersos ou sequências alternativas. A tentar obter acesso exclusivo ao executar verificações offline.
Msg 5030, nível de 16, estado 12, linha 1
Não foi possível bloquear exclusivamente a base de dados para efectuar a operação.
Msg 7926, nível de 16, estado 1, linha 1
Instrução verificação cancelada. Não foi possível verificar a base de dados que não foi possível criar um instantâneo da base de dados e não foi possível bloquear a base de dados ou tabela. Consulte Books Online para obter detalhes sobre quando este comportamento está previsto e soluções que existem. Consulte também a erros anteriores para obter mais detalhes.
Msg 5106, nível de 17 estado 2, linha 1
Escrever ficheiro disperso 'E:\Data\LogFUllTest_Data.mdf:MSSQL_DBCC10' falhou devido à falta de espaço em disco.
Se executar o instantâneo da base de dados interna para 1450 ou 665 erros, aqui é uma sequência típica que irá notar no registo de erros 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 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )