CORRECÇÃO: Um problema de desempenho executa uma consulta utilizando um cursor para a frente rápido no SQL Server 2005 ou SQL Server 2008

Traduções de Artigos Traduções de Artigos
Artigo: 973877 - Ver produtos para os quais este artigo se aplica.
A Microsoft distribui correcções Microsoft SQL Server 2005 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Executar uma consulta utilizando um cursor para a frente rápido do Microsoft SQL Server 2005 ou SQL Server 2008. No entanto, a consulta tem um muito mais tempo para abrir o cursor do que quando executa a mesma consulta utilizando um cursor estático.

Se analisar as informações estatísticas sobre a actividade do disco for gerada pela consulta enquanto o cursor está a ser aberto, poderá detectar as seguintes características:
  • O número de "leitura antecipada lê" é 0 quando utiliza o cursor para a frente rápido.
  • O número de "leitura antecipada lê" é um grande número quando utiliza um cursor estático.


Nota Pode utilizar a instrução SET E/S STATISTICS ON para apresentar as estatísticas.

Causa

Quando um cursor estático é aberto, o mecanismo de leitura antecipada está activado. No entanto, quando um cursor para a frente rápido é aberto, o mecanismo de leitura antecipada está desactivado. Este comportamento faz com que o problema de desempenho que é descrito na secção "Sintomas".

Resolução

SQL Server 2005

A correcção para este problema foi disponibilizada pela primeira vez na actualização cumulativa 5 para o SQL Server 2005 Service Pack 3. Para obter mais informações sobre este pacote de actualização cumulativa, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
972511 Pacote de actualização cumulativa 5 para o SQL Server 2005 Service Pack 3
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento. A Microsoft recomenda que considerar a aplicação a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
960598Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3
Microsoft SQL Server 2005 são criadas correcções para service packs do SQL Server específicos. Tem de aplicar uma correcção do SQL Server 2005 Service Pack 3 para uma instalação do SQL Server 2005 Service Pack 3. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

SQL Server 2008

SQL Server 2008

importante Tem de utilizar esta correcção se estiver a executar a versão do SQL Server 2008.

A correcção para este problema foi disponibilizada pela primeira vez na actualização cumulativa 7. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
973601Pacote de actualização cumulativa 7 para o SQL Server 2008
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2008 anterior corrigir lançamento. Recomendamos que considere aplicar a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
956909O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008

SQL Server 2008 Service Pack 1 (SP1)

importante Tem de utilizar esta correcção se estiver a executar o SQL Server 2008 Service Pack 1 (SP1).

A correcção para este problema foi disponibilizada pela primeira vez na actualização cumulativa 4 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre este pacote de actualização cumulativa, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
973602Pacote de actualização cumulativa 4 para o SQL Server 2008 Service Pack 1
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2008 anterior corrigir lançamento. A Microsoft recomenda que considerar a aplicação a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
970365O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 correcções são criadas para service packs do SQL Server específicos. Tem de aplicar uma correcção do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

Ponto Da Situação

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

Mais Informação

O motor de base de dados suporta um mecanismo de optimização de desempenho que chama-se leitura antecipada. O mecanismo de leitura antecipada prevê as páginas de dados e índice que são necessários para satisfazer um plano de execução de consulta. Em seguida, o mecanismo de leitura antecipada apresenta as páginas na cache de memória intermédia antes das páginas são realmente utilizadas pela consulta. Isto permite cálculo e E/s para sobrepor, tirando partido total da CPU e o disco.

Referências

Para obter mais informações sobre o modelo de assistência incremental para o SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
935897Um modelo de assistência incremental está disponível a equipa do SQL Server para proporcionar correcções para problemas comunicados
Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 3, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
913089Como obter o service pack mais recente para o SQL Server 2005
Para obter mais informações sobre as novas funcionalidades do SQL Server 2005 Service Pack 3 (SP3) e sobre os melhoramentos no SQL Server 2005 SP3, visite o seguinte Web site da Microsoft:
http://go.microsoft.com/fwlink/?LinkId=131442
Para obter mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 973877 - Última revisão: 17 de agosto de 2009 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB973877 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 973877

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