KB2545989 - CORREÇÃO: Erro "Ocorreu um tempo limite enquanto aguardava a trava do buffer" quando muitas transações atualizam simultaneamente um banco de dados no SQL Server 2008 R2 ou no SQL Server 2008 se o banco de dados usa o nível de isolamento de instantâneo

Aplica-se A
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Parallel Data Warehouse SQL Server 2008 Developer SQL Server 2008 Enterprise

A Microsoft distribui as correções do Microsoft SQL Server 2008 R2 ou Microsoft SQL Server 2008 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 ou SQL Server 2008 corrigir lançamento.

Sintomas

Tenha em conta o seguinte cenário:

  • Ativar a funcionalidade de controlo de versões de linha numa base de dados no SQL Server 2008 R2 ou no SQL Server 2008.
  • Configure o banco de dados para usar o nível de isolamento de instantâneo.
  • Executa muitas transações que atualizam a base de dados em simultâneo.

Nesse cenário, as mensagens de erro semelhantes à seguinte são registradas no arquivo SQL Server Errorlog.

Mensagem de erro 1

Nota

<Data><SPID> Ocorreu um tempo limite enquanto aguardava a trava da memória intermédia -- tipo 2, bp 0000003DDEFCBC80, página 3:58642854, 0xc0000b de estatísticas, ID da base de dados: 6, ID da unidade de alocação: 72057594048806912, 0x000000717CC2A748 da tarefa: 0, tempo de espera 300, sinalizadores 0x3a, tarefa proprietária 0x00000062F0A6CE08. Não continuando a esperar.

Mensagem de erro 2

Nota

<Data><em que o tempo limite do SPID> ocorreu enquanto aguardava a trava: classe 'APPEND_ONLY_STORAGE_FIRST_ALLOC', id 0000006196214E30, tipo 4, Tarefa 0x000000002CA45948: 0, tempo de espera 300, sinalizadores 0x1a, tarefa proprietária 0x00000062F0533288. Continuando a esperar.

Mensagem de erro 3

Nota

<Data> spid#,Desconhecido,Erro: 845<c/> Gravidade: 17<c/> Estado: 1.

Causa

Este problema ocorre porque a formatação das páginas do arquivo de versões começa após a atribuição. No entanto, as páginas estão fechadas. Portanto, ocorre uma alta disputa por páginas.

Resolução

Informações de atualização cumulativa

SQL Server 2008 Service Pack 3

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 4 para SQL Server 2008 Service Pack 3. Para obter mais informações sobre este pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2673383 Pacote de atualizações cumulativas 4 para SQL Server 2008 Service Pack 3Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 corrigir lançamento. A Microsoft recomenda que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2629969 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 3 Os hotfixes do Microsoft SQL Server 2008 são criados para service packs SQL Server específicos. Tem de aplicar uma correção do SQL Server 2008 Service Pack 3 a uma instalação do SQL Server 2008 Service Pack 3. Por padrão, qualquer hotfix fornecido em um SQL Server service pack é incluído no próximo SQL Server service pack.

SQL Server 2008 R2 Service Pack 1

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 1 para SQL Server 2008 R2 Service Pack 1. Para mais informações sobre como obter este pacote de actualização cumulativa, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2544793 Pacote de Atualização Cumulativa 1 para SQL Server 2008 R2 Service Pack 1Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 8. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2534352 Pacote de atualizações cumulativas 8 para o SQL Server 2008 R2 Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server anterior 2008 R2 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

981356 As compilações SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Mais Informações

Este problema poderá não ocorrer se aumentar o número de ficheiros de dados para a base de dados Tempdb para maximizar a largura de banda do disco. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2154845 Recomendações para reduzir a contenção de alocação em SQL Server base de dados tempdb

Referências

Para obter mais informações sobre níveis de isolamento baseados em controle de versão de linha, visite o seguinte site da MSDN:

Informações gerais sobre níveis de isolamento baseados no controlo de versões de linha
Para obter mais informações sobre o modelo de manutenção incremental para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

935897 Um modelo de manutenção incremental está disponível na equipe de SQL Server para fornecer hotfixes para problemas relatados

Para obter mais informações sobre o esquema de nomenclatura para atualizações SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

822499 Novo esquema de nomenclatura 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:

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft