ID do artigo: 2492381 - Última revisão: segunda-feira, 21 de fevereiro de 2011 - Revisão: 2.0

CORREÇÃO: SQL Server 2008 R2 executado incorretamente quando a maioria dos segmentos aguardar para o tipo de espera CMEMTHREAD se os threads usam variáveis de tabela ou tabelas para carregar ou atualizar conjuntos de linhas de temp

Download do hotfix está disponívelDownload do Hotfix Disponível
Visualizar e solicitar downloads de hotfix
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.

Nesta página

Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário:
  • Instalar uma instância do Microsoft SQL Server 2008 R2 em um computador.
  • Os threads nesta instância constantemente aguardar oCMEMTHREADtipo de espera. A maioria dos threads usa variáveis de tabela ou tabelas temporárias para carregar ou atualizar conjuntos de linhas. Por exemplo, a maioria dos threads execute uma das seguintes instruções:
    • CREATE TABLE
    • CREATE INDEX
  • A contenção para oLOCK_HASHspinlock é alto. Por exemplo, a contagem de rotação, as possíveis colisões e os valores de voltar para oLOCK_HASHaumento de spinlock muito rápido.

    ObservaçãoPara obter mais informações sobre como monitorar oLOCK_HASHspinlock, consulte a seção "Mais informações".
Nesse cenário, SQL Server 2008 R2 pode diminuir seu desempenho.

Resolução

Informações de atualização cumulativa

SQL Server 2008 R2

A correção para esse problema foi lançada em 6 de atualização cumulativa. Para obter mais informações sobre como obter esse pacote cumulativo de atualização para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2489376  (http://support.microsoft.com/kb/2489376/ ) Pacote de atualização cumulativa 6 para SQL Server 2008 R2
ObservaçãoComo as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança incluídos no SQL Server 2008 R2 anteriores corrigir o lançamento. Recomendamos que você considere a aplicação a versão mais recente da correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
981356  (http://support.microsoft.com/kb/981356/ ) O SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se apenas a corrigir o problema descrito neste artigo. Aplica este hotfix somente aos sistemas que apresentarem o problema descrito neste artigo. Este hotfix pode receber testes adicionais. Portanto, se esse problema não o prejudicar, 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 deste artigo do Knowledge Base. Se não aparecer nesta seção, entre em contato com o suporte e atendimento ao cliente da Microsoft para obter o hotfix.

ObservaçãoSe ocorrerem problemas adicionais ou qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço. Os custos normais de suporte serão aplicados a questões de suporte adicional e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa dos números de telefone de suporte e atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
ObservaçãoO 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

Para aplicar esse hotfix, você deve ter o Microsoft SQL Server 2008 R2.

Requisito de reinicialização

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

Informações de substituição do hotfix

Esse hotfix não substitui nenhum outro hotfix.

Informações sobre o arquivo

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horários destes arquivos estão listados no tempo Universal Coordenado (UTC). Quando você exibe as informações do arquivo, ele será convertido para a hora local. Para saber a diferença entre o UTC e a hora local, use oFuso horárioGuia deData e horaitem no painel de controle.
Instância de núcleo de serviços de banco de dados de 32 bits SQL Server 2008 R2
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
atxcore.dll2009.100.1757.013,55208-Jan-110: 37x86
datacollectorcontroller.dll2009.100.1757.0135,5208-Jan-110: 36x86
etwcls.MOFNão aplicável1,116,3286-Jan-1121: 54Não aplicável
instmsdb.SQLNão aplicável2,241,2606-Jan-1120: 23Não aplicável
mssqlsystemresource.ldfNão aplicável524,2886-Jan-1123: 51Não aplicável
mssqlsystemresource.mdfNão aplicável63,569,9206-Jan-1123: 51Não aplicável
sql_engine_core_inst_keyfile.dll2009.100.1757.013,6648-Jan-110: 36x86
sqlaccess.dll2009.100.1757.0415,5848-Jan-110: 34x86
Sqlagent. exe2009.100.1757.0367,9688-Jan-110: 37x86
sqlagent100_msdb_upgrade.SQLNão aplicável2,371,2456-Jan-1121: 52Não aplicável
sqlos.dll2009.100.1757.014,6888-Jan-110: 25x86
sqlscriptdowngrade.dll2009.100.1757.014,6888-Jan-110: 25x86
sqlscriptupgrade.dll2009.100.1757.04,611,4248-Jan-110: 25x86
Sqlservr. exe2009.100.1757.042,899,8088-Jan-110: 37x86
sqsrvres.dll2009.100.1757.089,9528-Jan-110: 25x86
Instância de núcleo de serviços de banco de dados de 64 bits SQL Server 2008 R2
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
atxcore.dll2009.100.1757.031,5847-Jan-1123: 36.x64
datacollectorcontroller.dll2009.100.1757.026,24967-Jan-1123: 36.x64
etwcls.MOFNão aplicável1,116,3286-Jan-1121: 54Não aplicável
instmsdb.SQLNão aplicável2,241,2606-Jan-1120: 23Não aplicável
mssqlsystemresource.ldfNão aplicável524,2886-Jan-1123: 51Não aplicável
mssqlsystemresource.mdfNão aplicável63,569,9206-Jan-1123: 51Não aplicável
sql_engine_core_inst_keyfile.dll2009.100.1757.014,1767-Jan-1123: 36.x64
sqlaccess.dll2009.100.1757.0403,2967-Jan-1123: 35x86
Sqlagent. exe2009.100.1757.0428,3847-Jan-1123: 37x64
sqlagent100_msdb_upgrade.SQLNão aplicável2,371,2456-Jan-1121: 52Não aplicável
sqlos.dll2009.100.1757.015,7127-Jan-1123: 35x64
sqlscriptdowngrade.dll2009.100.1757.015,7127-Jan-1123: 35x64
sqlscriptupgrade.dll2009.100.1757.04,610,9127-Jan-1123: 35x64
Sqlservr. exe2009.100.1757.062,007,6487-Jan-1123: 37x64
sqsrvres.dll2009.100.1757.0105,8247-Jan-1123: 35x64
Instância de núcleo de serviços de banco de dados do SQL Server 2008 R2 de arquitetura Itanium
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
atxcore.dll2009.100.1757.063,3287-Jan-1101: 23IA-64
datacollectorcontroller.dll2009.100.1757.0477,0247-Jan-1101: 23IA-64
etwcls.MOFNão aplicável1,116,3286-Jan-1121: 54Não aplicável
instmsdb.SQLNão aplicável2,241,2606-Jan-1120: 23Não aplicável
mssqlsystemresource.ldfNão aplicável524,2886-Jan-1123: 51Não aplicável
mssqlsystemresource.mdfNão aplicável63,569,9206-Jan-1123: 51Não aplicável
sql_engine_core_inst_keyfile.dll2009.100.1757.019,2967-Jan-1101: 23IA-64
sqlaccess.dll2009.100.1757.0392,0327-Jan-1122: 59.x86
Sqlagent. exe2009.100.1757.01,205,6007-Jan-1123: 04.IA-64
sqlagent100_msdb_upgrade.SQLNão aplicável2,371,2456-Jan-1121: 52Não aplicável
sqlos.dll2009.100.1757.022,3687-Jan-1122: 51IA-64
sqlscriptdowngrade.dll2009.100.1757.020,8327-Jan-1122: 51IA-64
sqlscriptupgrade.dll2009.100.1757.04,617,0567-Jan-1122: 51IA-64
Sqlservr. exe2009.100.1757.0121,714,5287-Jan-1123: 04.IA-64
sqsrvres.dll2009.100.1757.0188,7687-Jan-1122: 51IA-64

Situação

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

Mais Informações

Para monitorar oLOCK_HASHspinlock, ajustar o atraso e o número de iterações conforme apropriado para seu ambiente no código a seguir e, em seguida, executar esse código:
SET NOCOUNT ON
CREATE TABLE #spins([Spinlock Name] varchar(50),Collisions numeric,Spins numeric,[Spins/Collision] float,[Sleep Time (ms)] numeric,Backoffs numeric, InsertTime datetime DEFAULT GETDATE())
DECLARE @counter int = 1
WHILE @counter < 10
      BEGIN
            INSERT INTO #spins ([Spinlock Name], Collisions, Spins, [Spins/Collision], [Sleep Time (ms)], Backoffs) EXECUTE ('DBCC SQLPERF (''SPINLOCKSTATS'') WITH NO_INFOMSGS')
            WAITFOR DELAY '00:00:05'
            SET @counter +=1
      END
SELECT * FROM #spins WHERE [Spinlock Name] = 'LOCK_HASH' ORDER BY InsertTime
DROP TABLE #spins

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2492381 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: 2492381  (http://support.microsoft.com/kb/2492381/en-us/ )