Erro 17066 ou 17310 durante o arranque do SQL Server

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: 3027860
Sintomas
Durante o arranque do Microsoft SQL Server, pode detectar um ou mais dos seguintes sintomas imediatamente após a recuperação da base de dados é concluída e as ligações de cliente estão activadas.

Sintoma 1

Recebe mensagens de erro e asserções semelhantes à seguinte no registo de erros do SQL Server:

2014-12 a 13 dbghelp '. 08:03:34.85 spid24s Using dll' versão '4.0.5'
2014-12-13 08:03:34.85 spid24s * * copiar thread - spid = 0, CE = 0x0000000082274B20
2014-12-13 08:03:34.85 spid24s * * * pilha de informação a ser enviada para C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0001.txt
2014-12-13 08:03:34.85 spid24s * * * *
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:34.85 spid24s * começar a copiar de pilha:
2014-12-13 08:03:34.85 spid24s * 12/13/14-08:03:34 spid 24
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:34.85 spid24s * localização: ghost.cpp:1742
2014-12-13 08:03:34.85 spid24s * expressão: tcln1! = NULL
2014-12-13 08:03:34.85 spid24s * SPID: 24
2014-12-13 08:03:34.85 spid24s * ID de processo: 35444
2014-12-13 08:03:34.85 spid24s *

2014-12-13 08:03:35.47 spid24s erro: 17066, gravidade: 16, estado: 1.
08:03:35.47 de 2014-12-13 spid24s declaração do SQL Server: ficheiro: <ghost.cpp>, linha = 1742 falha na asserção = ' tcln1! = NULL'. Este erro pode ser relacionado com a temporização. Se o erro persistir depois de voltar a executar a instrução, utilize DBCC CHECKDB para verificar a base de dados para integridade estrutural ou reinicie o servidor para assegurar a estruturas de dados na memória não estão danificadas.</ghost.cpp>

Sintoma 2

Recebe mensagens de erro e excepções semelhantes à seguinte no registo de erros do SQL Server:

2014-12 a 13 dbghelp '. 12:38:30.25 spid51 Using dll' versão '4.0.5'
2014-12-13 12:38:30.25 spid51 * * * pilha de informação a ser enviada para C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0003.txt
2014-12-13 12:38:30.25 spid51 SqlDumpExceptionHandler: 51 do processo gerado excepção fatal c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está a terminar este processo.
2014-12-13 12:38:30.25 spid51 * *******************************************************************************
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 * começar a copiar de pilha:
2014-12-13 12:38:30.25 spid51 * 12/13/14 12:38:30 spid 51
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 * endereço de excepção = 000000000030D47C Module(sqlservr+00000000000FD47C)
2014-12-13 12:38:30.25 spid51 * código de excepção = c0000005 EXCEPTION_ACCESS_VIOLATION
2014-12-13 12:38:30.25 spid51 * Ocorreu de violação de acesso leitura endereço FFFFFFFFFFFFFFFF
2014-12-13 12:38:30.25 spid51 * bytes de entrada da memória intermédia 54 -
2014-12-13 12:38:30.25 spid51 * usp_select1 de exec

Erro de servidor de 12:38:30.77 de 2014-12-13: 17310, gravidade: 20, estado: 1.
Pedido de utilizador do 2014-12-13 12:38:30.77 servidor A partir da sessão com o SPID 51 gerou uma excepção fatal. SQL Server está a terminar esta sessão. Serviços de suporte técnico contacto com a informação de estado produzidos no directório de registo.

A violação de acesso terá a seguinte pilha de chamadas:

sqlservr! TaskGhostCleanup::IsHashed + 0x8d
sqlservr! TaskGhostCleanup::Enqueue + 0x32
sqlservr! IndexRowScanner::MoveToRowOnNextPage + 0x9c
sqlservr! IndexDataSetSession::GetNextRowValuesInternal + 0x11cb

Sintoma 3

Depois de receber as mensagens que são mencionadas nas secções anteriores sintoma, receber as seguintes mensagens no registo de erros do SQL Server:

2014-12-13 08:04:53.37 processo do servidor 0:0:0 (0x23c8) 0x000000002880C1A0 de trabalho parece estar não cedente de 23 de programador. Hora de criação do thread: 13062953007877. Aproximado Thread da CPU utilizados: kernel 0 ms, o utilizador 0 Sra. utilização do processo de 0%. Sistema inactivo 88%. Intervalo: ms 70013.
08:04:53.37 de 2014-12 a 13 processo do servidor 0:0:0 (0x71d8) 0x000000002A8D21A0 de trabalho parece estar não cedente no programador de 30. Hora de criação do thread: 13062953007891. Aproximado Thread da CPU utilizados: kernel 0 ms, o utilizador 0 Sra. utilização do processo de 0%. Sistema inactivo 88%. Intervalo: ms 70013.
2014-12-13 08:04:53.38 Server * * * não é possível obter o contexto do thread para spid 0
2014-12-13 08:04:53.38 Server * *******************************************************************************
2014-12-13 08:04:53.38 Server *
2014-12-13 08:04:53.38 Server * despejo simplificado da pilha de início:
2014-12-13 08:04:53.38 Server * 12/13/14-08:04:53 spid 29488
2014-12-13 08:04:53.38 Server *
2014-12-13 08:04:53.38 Server * Programador de não cedente
2014-12-13 08:04:53.38 Server *
2014-12-13 08:04:53.38 Server * *******************************************************************************
08:04:53.38 de 2014-12 a 13 assinatura da pilha de servidor para a informação de estado é 0x0000000000000341
08:04:55.43 de 2014-12 a 13 processo externo do servidor de informação devolvem o código 0x20000001. Processo de informação de sistema externo devolveu sem erros.
2014-12-13 08:04:55.43 processo do servidor 0:0:0 (0x9358) 0x0000000081CE41A0 de trabalho parece estar não cedente no programador de 4. Hora de criação do thread: 13062953009701. Cerca de Thread da CPU utilizados: kernel 0 ms, o utilizador 15 Sra. utilização do processo de 0%. Sistema inactivo 88%. Intervalo: ms 70011.

SQL Server pode não responder a pedidos de utilizador neste momento. Se for este o caso, tem de reiniciar o serviço para corrigir a situação.
Causa
Este problema ocorre porque as consultas de utilizador tentarem utilizar as filas do ghost cleanup antes deste processo está totalmente inicializado.
Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o Service Pack 1 para SQL Server 2014.

Para mais informações sobre o SQL Server 2014 Service Pack 1 (SP1), consulte erros corrigidos no SQL Server 2014 Service Pack 1.

Correcção para o SQL Server 2008 SP4

Para resolver este problema, aplique KB 3034373: Um pacote de actualização de correcção a pedido está disponível para o SQL Server 2008 SP4.

Correcção para o SQL Server 2008 R2 SP3

Para resolver este problema, aplique KB 3033860: Um pacote de actualização de correcção a pedido está disponível para o SQL Server 2008 R2 SP3.

Informações de actualização cumulativa

A melhoria da funcionalidade foi introduzida na actualização cumulativa do SQL Server.

Actualização cumulativa 6 para o SQL Server 2014

Actualização cumulativa 4 para o SQL Server 2012 SP2

Actualização cumulativa 14 para o SQL Server 2012 SP1

Acerca de actualizações cumulativas para o SQL Server

Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas na anterior actualização cumulativa. Verifique as actualizações cumulativas mais recentes para o SQL Server:
Como contornar
Para contornar este problema, siga estes passos:
  1. Configurar -T669 como parâmetro de arranque. Este sinalizadores de rastreio impede que as consultas do utilizador de colocação em fila pedidos para o processo de limpeza fantasma.
  2. Defina um alerta de SQL Server Agent para accionar uma tarefa no 3408 de erro de SQL. Por exemplo, configurar o seguinte alerta:
    A recuperação é concluída. Esta é apenas uma mensagem informativa. Não é necessária nenhuma acção do utilizador.
  3. Dentro desta tarefa, execute um script TSQL para aguardar por 5 a 10 minutos e, em seguida, execute o DBCC TRACEOFF (669, -1) comando.
Este procedimento garante que este sinalizador de rastreio está activa apenas durante o arranque do SQL Server. A utilização deste sinalizador de rastreio não afecta o funcionamento normal do processo de limpeza a fundo fantasma.
Ponto Da Situação
A Microsoft confirmou que este é um problema com o SQL Server e está a investigar actualmente uma correcção para este problema. Este artigo será actualizado com informações adicionais à medida que se torna disponível.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3027860 - Última Revisão: 11/14/2015 05:55:00 - Revisão: 8.0

Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Express Edition

  • kbtshoot kbprb kbmt KB3027860 KbMtpt
Comentários