CORRECÇÃO: Um deadlock ocorre e uma consulta nunca termina quando você executa a consulta em um computador que está executando o SQL Server 2005 e tem vários processadores

Traduções deste artigo Traduções deste artigo
ID do artigo: 923605 - Exibir os produtos aos quais esse artigo se aplica.
Bug #: 1124 (Hotfix do SQL)
Aviso
A Microsoft distribui correções do Microsoft SQL Server 2005 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todos os as correções de segurança que foram incluídas com o anterior SQL Server 2005 corrigir lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Este artigo descreve o seguinte sobre esta versão de hotfix:
  • Problemas corrigidos por esse pacote de hotfix
  • Os pré-requisitos para instalar o pacote de hotfix
  • Informações sobre se é necessário reiniciar o computador depois de instalar o pacote de hotfix
  • Informações sobre se o pacote de hotfix é substituído por qualquer outro pacote de hotfix
  • Informações sobre se você deve fazer alterações no registro
  • Arquivos que estão contidos no pacote de hotfix

Sintomas

Quando você executar uma consulta em um computador que está executando o SQL Server 2005 e tem vários processadores, ocorre um deadlock, e a consulta nunca termina. Além disso, mensagens de erro semelhantes aos seguintes são registradas no arquivo Errorlog do SQL Server 2005:
2006-06-23 18:40:57.24 spid51 solte Temp Obj: Falha na serialização posicionamentos...
2006-06-23 18:41:07.24 spid4s que deadlock encontrado.... Imprimindo informações de bloqueio
2006-06-23 18:41:07.24 spid4s espera - para gráfico
2006-06-23 18:41:07.24 spid4s
2006-06-23 18:41:07.24 spid4s nó: 1
2006-06-23 18:41:07.24 spid4s OBJECT: 2:2103730597:0 CleanCnt:3 modo: SCH - S sinalizadores: 0 x 0
2006-06-23 18:41:07.24 spid4s conceder lista 0:
2006-06-23 18:41:07.24 spid4s proprietário: 0x00000000FB68B780 modo: SCH-S Flg:0x0 Ref: 16 vida: 00000000 SPID:51 ECID:0 XactLockInfo: 0x00000000D6D1AD78
2006-06-23 18:41:07.24 spid4s SPID: 51 ECID: tipo de declaração de 0: EXECUTE linha nº: 123
2006-06-23 18:41:07.24 spid4s entrada Buf: evento de idioma: < DECLARAÇÃO SQL >
2006-06-23 18:41:07.24 spid4s solicitada por:
2006-06-23 18:41:07.24 spid4s ResType:LockOwner Stype: 'Ou' xdes:0x00000000D6D1B9F0 modo: SCH-M SPID:51 BatchID:0 ECID:0 TaskProxy:(0x00000000B16BA570) valor: 0x801807c0 Cost:(N/A)
2006-06-23 18:41:07.24 spid4s bloqueio monitor falhou ao resolver esse deadlock. Servidor pode exigir a reinicialização para recuperar essa condição

2006-06-23 18:41:07.24 spid4s usando 'dbghelp.dll' versão '4.0.5'
2006-06-23 18:41:07.24 spid18s deadlock-lista
2006-06-23 18:41:07.24 spid18s vítima de deadlock = process0
2006-06-23 18:41:07.24 spid18s-lista de processos
2006-06-23 18:41:07.24 spid18s processar id = processea4718 waitresource = OBJECT: 2:2103730597:0 waittime = 10000 ownerId = transactionname 184497 = droptemp lasttranstarted = 2006 - 06 - 23T18:40:57.243 XDES = 0xd6d1b9f0 lockMode = schedulerid SCH-M = kpid 2 = 808 status = spid suspenso = 51 sbid = ecid 0 = prioridade 0 = transcount 0 = 1 lastbatchstarted = 2006 - 06 - 23T18:38:46.930 lastbatchcompleted = 2006 - 06 - 23T18:38:46.930 clientapp = nome do host SQL Query Analyzer = FOO hostpid = 1234 loginname = domínio\usuário isolationlevel = leitura confirmada xactid (2) = currentdb 172623 = 11 lockTimeout = 4294967295 clientoption1 = clientoption2 673187936 = 128056
2006-06-23 18:41:07.24 spid18s executionStack
2006-06-23 18:41:07.24 spid18s quadro procname=database.dbo.storedprocedure linha = 123 stmtstart = stmtend 43720 = sqlhandle 43986 = 0x03000b003589375d7cb53201e99700000100000000000000
2006-06-23 18:41:07.24 spid18s < DECLARAÇÃO SQL >
2006-06-23 18:41:07.24 spid18s quadro procname = adhoc linha = stmtstart 2 = 34 stmtend = sqlhandle 116 = 0x01000b009d96c716f07b76ab000000000000000000000000
2006-06-23 18:41:07.24 spid18s < DECLARAÇÃO SQL >
2006-06-23 18:41:07.24 spid18s inputbuf
2006-06-23 18:41:07.24 spid18s < DECLARAÇÃO SQL >
2006-06-23 18:41:07.24 spid18s-lista de recursos
2006-06-23 18:41:07.24 spid18s objectlock lockPartition = objid 0 = subresource 2103730597 = FULL dbid = 2 objectname=tempdb.dbo.#7D6461A5 id = lockbb29f600 modo = associatedObjectId SCH-S = 2103730597
2006-06-23 18:41:07.24 spid18s-lista de proprietários
2006-06-23 18:41:07.24 spid18s proprietário id = processea4718 modo = SCH-S
2006-06-23 18:41:07.24 spid18s garçom-lista
2006-06-23 18:41:07.24 spid18s garçom id = processea4718 modo = requestType SCH-M = espera
2006-06-23 18:41:07.24 spid4s ** despejo thread - spid = 4, PSS = 0x000000008011EB40, EC = 0x000000008011EB50
2006-06-23 18:41:07.24 spid4s *** despejo de pilha sendo enviadas para c:\Arquivos de Programas\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLDump0001.txt
2006-06-23 18:41:07.24 spid4s *
2006-06-23 18:41:07.24 spid4s * BEGIN DUMP de pilha:
2006-06-23 18:41:07.24 spid4s * 01/08/07 15:54:00 spid 4
2006-06-23 18:41:07.24 spid4s *
2006-06-23 18:41:07.24 spid4s * deadlock não resolvida **************************************************
Esse problema ocorre se as variáveis de tabela são usadas em uma transação.

Resolução

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

Você deve ter o SQL Server 2005 Service Pack 1 (SP1) instalado para aplicar esse hotfix.

Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 1, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
913089Como obter o service pack mais recente para o SQL Server 2005

Informações sobre reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações do registro

Não é necessário alterar o registro.

Informações sobre o arquivo de hotfix

Esse hotfix contém apenas os arquivos que são necessárias para corrigir os problemas que este artigo lista. Este hotfix não pode conter de todos os arquivos que você deve ter para actualizar completamente um produto para a compilação mais recente.

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Hotfix do SQL Server 2005, 32 bits
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Logread.exe2005.90.2181.0398,11215 De agosto de 200608: 28x 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2181.0543,52015 De agosto de 200608: 28x 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2181.0138,01615 De agosto de 200608: 26x 86
Microsoft.AnalysisServices.dll9.0.2181.01,215,26415 De agosto de 200608: 26x 86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2181.075,55215 De agosto de 200608: 25x 86
Microsoft.SQLServer.SqlEnum.dll9.0.2181.0908,06415 De agosto de 200608: 26x 86
Msgprox.dll2005.90.2181.0197,92015 De agosto de 200608: 28x 86
Msmdlocal.dll9.0.2181.015,703,84015 De agosto de 200608: 27x 86
Msmdredir.dll9.0.2181.03,968,80015 De agosto de 200608: 27x 86
Mssqlsystemresource.ldfNão aplicável524,28814 De agosto de 200622: 49Não aplicável
Mssqlsystemresource.mdfNão aplicável39,911,42414 De agosto de 200622: 49Não aplicável
Replprov.dll2005.90.2181.0547,61615 De agosto de 200608: 29x 86
Replrec.dll2005.90.2181.0782,11215 De agosto de 200608: 26x 86
Sqlaccess.dll2005.90.2181.0347,93615 De agosto de 200608: 28x 86
Sqlagent90.exe2005.90.2181.0319,26415 De agosto de 200608: 27x 86
Sqlservr.exe2005.90.2181.028,951,38415 De agosto de 200608: 27x 86
Sysdbupg.SQLNão aplicável192,34619 De julho de 200617: 02Não aplicável
Xpstar90.dll2005.90.2181.0292,64015 De agosto de 200608: 31x 86
Xpstar90.rll2005.90.2181.0152,86415 De agosto de 200608: 27x 86
Hotfix do SQL Server 2005, 64-bit
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Logread.exe2005.90.2181.0522,52815 De agosto de 200608: 20x 64
Microsoft.AnalysisServices.AdomdClient.dll9.0.2181.0543,52015 De agosto de 200608: 20x 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2181.0543,52015 De agosto de 200608: 28x 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2181.0138,01615 De agosto de 200608: 26x 86
Microsoft.AnalysisServices.dll9.0.2181.01,215,26415 De agosto de 200608: 26x 86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2181.091,42415 De agosto de 200608: 19x 64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2181.075,55215 De agosto de 200608: 25x 86
Microsoft.SQLServer.SqlEnum.dll9.0.2181.0875,29615 De agosto de 200608: 21x 86
Msgprox.dll2005.90.2181.0259,36015 De agosto de 200608: 20x 64
Msmdlocal.dll9.0.2181.015,703,84015 De agosto de 200608: 27x 86
Msmdredir.dll9.0.2181.03,968,80015 De agosto de 200608: 27x 86
Mssqlsystemresource.ldfNão aplicável524,28814 De agosto de 200622: 49Não aplicável
Mssqlsystemresource.mdfNão aplicável39,911,42414 De agosto de 200622: 49Não aplicável
Replprov.dll2005.90.2181.0745,24815 De agosto de 200608: 21x 64
Replrec.dll2005.90.2181.01,008,41615 De agosto de 200608: 19x 64
Sqlaccess.dll2005.90.2181.0355,10415 De agosto de 200608: 20x 86
Sqlagent90.exe2005.90.2181.0390,94415 De agosto de 200608: 20x 64
Sqlservr.exe2005.90.2181.039,327,52015 De agosto de 200608: 20x 64
Sysdbupg.SQLNão aplicável192,34619 De julho de 200617: 02Não aplicável
Xpstar90.dll2005.90.2181.0540,44815 De agosto de 200608: 20x 64
Xpstar90.rll2005.90.2181.0153,37615 De agosto de 200608: 19x 64
Hotfix do SQL Server 2005, 64 bits para processadores Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Logread.exe2005.90.2181.01,095,45615 De agosto de 200608: 20IA-64
Microsoft.AnalysisServices.AdomdClient.dll9.0.2181.0543,52015 De agosto de 200608: 19x 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2181.0543,52015 De agosto de 200608: 28x 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2181.0138,01615 De agosto de 200608: 26x 86
Microsoft.AnalysisServices.dll9.0.2181.01,215,26415 De agosto de 200608: 26x 86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2181.0163,10415 De agosto de 200608: 18IA-64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2181.075,55215 De agosto de 200608: 25x 86
Microsoft.SQLServer.SqlEnum.dll9.0.2181.0875,29615 De agosto de 200608: 20x 86
Msgprox.dll2005.90.2181.0542,49615 De agosto de 200608: 19IA-64
Msmdlocal.dll9.0.2181.048,837,40815 De agosto de 200608: 21IA-64
Msmdredir.dll9.0.2181.06,155,04015 De agosto de 200608: 21IA-64
Mssqlsystemresource.ldfNão aplicável524,28814 De agosto de 200622: 49Não aplicável
Mssqlsystemresource.mdfNão aplicável39,911,42414 De agosto de 200622: 49Não aplicável
Replprov.dll2005.90.2181.01,617,18415 De agosto de 200608: 21IA-64
Replrec.dll2005.90.2181.02,141,47215 De agosto de 200608: 21IA-64
Sqlaccess.dll2005.90.2181.0349,47215 De agosto de 200608: 19x 86
Sqlagent90.exe2005.90.2181.01,143,58415 De agosto de 200608: 20IA-64
Sqlservr.exe2005.90.2181.072,196,89615 De agosto de 200608: 21IA-64
Sysdbupg.SQLNão aplicável192,34619 De julho de 200617: 02Não aplicável
Xpstar90.dll2005.90.2181.0950,56015 De agosto de 200608: 22IA-64
Xpstar90.rll2005.90.2181.0152,35215 De agosto de 200608: 18IA-64

Como Contornar

Para contornar este problema, use um dos seguintes métodos:
  • Reinicie o serviço SQL Server para resolver o deadlock.
  • Quando esse problema ocorre, defina a opção de nível máximo de paralelismo como 1.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Informações de pilha de chamada

ChildEBP RetAddr  
05c3e720 7d4d8c46 ntdll!NtWaitForSingleObject+0x15
05c3e790 7d4d8bb5 kernel32!WaitForSingleObjectEx+0xac
05c3e7a4 02441816 kernel32!WaitForSingleObject+0x12
05c3e824 024413f2 sqlservr!CDmpDump::DumpInternal+0x311
05c3e860 02194394 sqlservr!CDmpDump::Dump+0x59
05c3e920 0218b8e2 sqlservr!CImageHelper::DoMiniDump+0x3d2
05c3f6d8 020e7fea sqlservr!stackTrace+0x6c8
05c3f77c 014683c0 sqlservr!DeadlockMonitor::ReportUnresolvable+0x286
05c3f7e0 01098d63 sqlservr!DeadlockMonitor::SearchAndResolve+0x219
05c3f834 01081d87 sqlservr!DeadlockMonitor::SearchTaskAndResolve+0xb3
05c3f8dc 01081dd5 sqlservr!DeadlockMonitor::WorkLoop+0x82a
05c3f960 02132481 sqlservr!lockMonitor+0xbf
05c3fd54 01006a96 sqlservr!lockMonitorThread+0x314
05c3fdc4 01006bbc sqlservr!SOS_Task::Param::Execute+0xe2
05c3fdf8 01006dab sqlservr!SOS_Scheduler::RunTask+0xb9
05c3fe38 01447562 sqlservr!SOS_Scheduler::ProcessTasks+0x141
05c3fea0 0144859b sqlservr!SchedulerManager::WorkerEntryPoint+0x1a8
05c3feb8 0144789a sqlservr!SystemThread::RunWorker+0x7f
05c3ff10 01447720 sqlservr!SystemThreadDispatcher::ProcessWorker+0x225
05c3ff78 781329aa sqlservr!SchedulerManager::ThreadEntryPoint+0x143
05c3ffb0 78132a36 msvcr80!_callthreadstartex+0x1b
05c3ffb8 7d4e0729 msvcr80!_threadstartex+0x66
05c3ffec 00000000 kernel32!BaseThreadStart+0x34

ChildEBP RetAddr  
0886e3b4 7d4d8c46 ntdll!NtWaitForSingleObject+0x15
0886e424 7d4d8bb5 kernel32!WaitForSingleObjectEx+0xac
0886e438 010032d2 kernel32!WaitForSingleObject+0x12
0886e5b0 010026f2 sqlservr!SOS_Scheduler::SwitchContext+0x232
0886e5c8 01001e93 sqlservr!SOS_Scheduler::SuspendNonPreemptive+0xb9
0886e5e0 01002b95 sqlservr!SOS_Scheduler::Suspend+0x2e
0886e604 01058926 sqlservr!SOS_Event::Wait+0x12a
0886e640 01058a3d sqlservr!LockOwner::Sleep+0x13e
0886e6e4 0100cc9f sqlservr!lck_lockInternal+0x990
0886e790 010209b0 sqlservr!RowsetLockCache::GetTableLock+0x31b
0886e7dc 011acb90 sqlservr!MDL::FLockObjectId+0x6c
0886e820 0124db73 sqlservr!CMEDCatalogObject::GetCachedObjectById+0x9b
0886e858 0197a4e1 sqlservr!CMEDProxyDatabase::GetObjectByObjectId+0x78
0886e90c 01c3a3fd sqlservr!FDropTempWithNolog+0x142
0886e934 019e823f sqlservr!TmpObject::Release+0x67
0886e950 019e842a sqlservr!CTableVariableManager::DropNormalTablesInCurScope+0x5c
0886e954 014ac4d3 sqlservr!CTableVariableManager::PopSqlScope+0x7
0886e960 0137c579 sqlservr!CExecLevel::PopSqlScopeInternal+0x69
0886e970 013676d1 sqlservr!CSQLSource::PopSqlScope+0x28
0886e9a0 013674c1 sqlservr!CStmtExecProc::XretLocalExec+0x2d6
0886efa4 01367356 sqlservr!CStmtExecProc::XretExecExecute+0x552
0886efc4 010251bc sqlservr!CXStmtExec::XretExecute+0x23
0886f058 01025741 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x360
0886f104 01023e34 sqlservr!CMsqlExecContext::FExecute+0x55b
0886f1c4 0136764a sqlservr!CSQLSource::Execute+0x73b
0886f200 013674c1 sqlservr!CStmtExecProc::XretLocalExec+0x1f6
0886f804 01367356 sqlservr!CStmtExecProc::XretExecExecute+0x552
0886f824 010251bc sqlservr!CXStmtExec::XretExecute+0x23
0886f8b8 01025741 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x360
0886f964 01023e34 sqlservr!CMsqlExecContext::FExecute+0x55b
0886fa24 01041dd5 sqlservr!CSQLSource::Execute+0x73b
0886fb9c 0103dfd4 sqlservr!process_request+0x2e3
0886fd54 01006a96 sqlservr!process_commands+0x2e0
0886fdc4 01006bbc sqlservr!SOS_Task::Param::Execute+0xe2
0886fdf8 01006dab sqlservr!SOS_Scheduler::RunTask+0xb9
0886fe38 01447562 sqlservr!SOS_Scheduler::ProcessTasks+0x141
0886fea0 0144859b sqlservr!SchedulerManager::WorkerEntryPoint+0x1a8
0886feb8 0144789a sqlservr!SystemThread::RunWorker+0x7f
0886ff10 01447720 sqlservr!SystemThreadDispatcher::ProcessWorker+0x225
0886ff78 781329aa sqlservr!SchedulerManager::ThreadEntryPoint+0x143
0886ffb0 78132a36 msvcr80!_callthreadstartex+0x1b
0886ffb8 7d4e0729 msvcr80!_threadstartex+0x66
0886ffec 00000000 kernel32!BaseThreadStart+0x34
s
Para obter mais informações sobre o esquema para nomeação para atualizações do Microsoft SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server
Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do artigo: 923605 - Última revisão: terça-feira, 20 de novembro de 2007 - Revisão: 1.5
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise 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 kbautohotfix kbexpertiseadvanced kbtshoot kbfix kbsql2005engine kbhotfixserver kbqfe kbpubtypekc KB923605 KbMtpt
Traduçã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: 923605

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com