KB2432235: o consumo de memória alta pode ocorrer ao reconstruir uma única partição da tabela heap no SQL Server 2008 ou no SQL Server 2008 R2

A Microsoft distribui o Microsoft SQL Server 2008 Service Pack 1 (SP1) correções como um arquivo que pode ser baixado. 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 a versão de correção anterior do SQL Server 2008 Service Pack 1 (SP1).A Microsoft distribui o Microsoft SQL Server 2008 Service Pack 1 (SP1) ou o Microsoft SQL Server 2008 R2 corrige como um arquivo que pode ser baixado. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 Service Pack 1 (SP1) ou do Microsoft SQL Server 2008 R2.

Sintomas

Considere o seguinte cenário:

  • Você tem uma tabela de heap e um índice que não está em cluster que está na tabela heap. A tabela heap contém várias linhas. Por exemplo, a tabela heap tem mais de 10 milhões linhas.

  • A tabela de heap e o índice não clusterizado particionados usando a mesma função de partição.

  • Você tenta recriar uma única partição da tabela heap.

Nesse cenário, o SQL Server consome incorretamente uma grande quantidade de memória.Observação Esse problema pode ocorrer mesmo se a partição estiver vazia.

Causa

Esse problema ocorre porque uma operação de classificação da operação de recriação reserva memória incorretamente. Quando o SQL Server recria uma única partição, o SQL Server recria o índice não clusterizado e o SQL Server classifica as linhas da nova localização da partição. No entanto, a memória para essa operação de classificação é reservada incorretamente com base no tamanho de toda a tabela de heap. Portanto, uma grande quantidade de memória é consumida.Observação Uma operação de classificação mais eficiente é baseada no tamanho da partição única.

Resolução

Informações sobre a atualização cumulativa

SQL Server 2008 R2

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

2438347 Pacote de atualizações cumulativas 5 para 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 incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 que foram lançadas após a liberação do SQL Server 2008 R2

SQL Server 2008 SP1

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 11. Para obter mais informações sobre como obter esse pacote de atualização cumulativa do SQL Server 2008 Service Pack 1 (SP1), clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2413738 Pacote de atualizações cumulativas 11 para SQL Server 2008 Service Pack 1 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 a versão de correção anterior do SQL Server 2008 Service Pack 1 (SP1). Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

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

Service Pack 2 do SQL Server 2008

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

2467239 Pacote de atualizações cumulativas 2 para SQL Server 2008 Service Pack 2Observaçã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 incluídas na versão anterior do SQL Server 2008 Fix. A Microsoft recomenda que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

2402659 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 2 Hotfixes do Microsoft SQL Server 2008 são criados para Service Packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 2 a uma instalação do SQL Server 2008 Service Pack 2. Por padrão, qualquer hotfix fornecido em um Service Pack do SQL Server está incluído no próximo Service Pack do SQL Server.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Informações adicionais

Para obter mais informações sobre como usar a instrução ALTER TABLE TRANSACT-SQL, acesse o seguinte site da Microsoft Developer Network (MSDN):

Como usar a instrução ALTER TABLE Transact-SQL

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×