DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 973255 - Última revisão: terça-feira, 22 de setembro de 2009 - Revisão: 1.1

 
A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Porque as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento.

Sintomas

No Microsoft SQL Server 2008, criar um modo de exibição particionado. Executar uma consulta que usa a função agregada MIN ou MAX contra o modo de exibição particionado. No entanto, você pode encontrar o executa consulta muito mais lento no SQL Server 2008 que se você executar a mesma consulta no SQL Server 2005.

Se você examinar o plano de execução da consulta, localizar o operador TOP apresenta no plano de execução no SQL Server 2005. No entanto, o operador TOP não apresenta no plano de execução no SQL Server 2008.

Por exemplo, o plano de execução no SQL Server 2005 semelhante à seguinte:
  |--Stream Aggregate(DEFINE:([Expr1190]=MAX([partialagg1191])))
       |--Concatenation
            |--Top(TOP EXPRESSION:((1)))
            |    |--Clustered Index Scan(OBJECT:([Server].[dbo].[Database].[PK]), ORDERED BACKWARD)
            |--Top(TOP EXPRESSION:((1)))
                 |--Clustered Index Scan(OBJECT:([Server].[dbo].[Database].[PK]), ORDERED BACKWARD)
Contudo, o plano de execução da mesma consulta no SQL Server 2008 semelhante à seguinte:
  |--Stream Aggregate(DEFINE:([Expr1190]=MAX([partialagg1191])))
       |--Concatenation
            |--Stream Aggregate(DEFINE:([partialagg1191]=MAX([Server].[dbo].[Database].[Column])))
            |    |--Index Scan(OBJECT:([Server].[dbo].[Database].[Index]))
            |--Stream Aggregate(DEFINE:([partialagg1191]=MAX([Server].[dbo].[Database].[Column])))
                 |--Index Scan(OBJECT:([Server].[dbo].[Database].[Index]))

Causa

O SQL Database Engine apresenta uma regra que converte as funções de agregação mínimo e máximo para usar o operador TOP (1) e o operador índice atingir no plano de execução. No entanto, nesse cenário, a regra não funciona no SQL Server 2008. Portanto, um índice errado é usado no modo de exibição de partição. Isso faz com que o problema de desempenho.

Resolução

Correção para esse problema foi lançada primeiro na atualização cumulativa 4 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento:
973602  (http://support.microsoft.com/kb/973602/LN/ ) Pacote de atualização cumulativa 4 para SQL Server 2008 Service Pack 1
Observação Como as compilações são cumulativas, cada novo lançamento de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. A Microsoft recomenda que você considere aplicar o lançamento mais recente de 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:
970365  (http://support.microsoft.com/kb/970365/LN/ ) Compilações de SQL Server 2008 que foram lançadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para específicos de service packs do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix é fornecido no service pack do SQL Server está incluído no service pack próximo do SQL Server.
Você deve ativar o sinalizador de rastreamento 4199 para esse hotfix tenham efeito.

Situação

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

Referências

Para obter mais informações sobre o modelo de serviços incrementais para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento:
935897  (http://support.microsoft.com/kb/935897/ ) Um modelo de serviços incrementais está disponível da equipe do SQL Server para fornecer hotfixes para problemas relatados


Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento:
822499  (http://support.microsoft.com/kb/822499/ ) Novo esquema para nomeação dos pacotes de atualização de software Microsoft SQL Server


Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão usada para descrever as atualizações de software

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB973255 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: 973255  (http://support.microsoft.com/kb/973255/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store