DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 961049 - Última revisão: segunda-feira, 18 de Maio de 2009 - Revisão: 3.0

 
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.
A Microsoft distribui correcções Microsoft SQL Server 2008 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 2008 anterior corrigir lançamento.

Nesta página

Sintomas

Tem uma consulta que utiliza a sugestão de tabela NOLOCK no Microsoft SQL Server 2005 ou do Microsoft SQL Server 2008. A consulta lê dados de objectos grandes binários (BLOB) de um dos seguintes tipos de dados de uma tabela grande:
  • O tipo de dados de texto
  • O tipo de dados nText
  • O tipo de dados de imagem
Quando executa a consulta, a consulta é executada muito lentamente. Se examinar a actividade do disco que gera a consulta, notará que o número de leituras lógicos é elevado.

Nota Para apresentar as actividades do disco, execute a consulta utilizando a cláusula SET E/S STATISTICS ON.

Causa

Quando a consulta que utiliza a sugestão de tabela NOLOCK lê dados BLOB, SQL Server verifica que cada página BLOB é atribuída ao examinar o mapa de atribuição de índice correspondente (IAM). O IAM é uma lista ligada de páginas de atribuição. Cada página IAM pode conter aproximadamente 4 GB de dados (tamanho da página 8 KB * 8 páginas * 64.000 extensões). Se o objecto for grande, a operação de verificação poderá conduzir a excessivas leituras lógicas.

Por exemplo, ter um objecto grande mapeado para um grupo de ficheiros. O tamanho total dos ficheiros no grupo de ficheiros for 700 GB. Nesta situação, IAM para este objecto pode conter até 175 páginas. Se agora executa uma consulta neste objecto utilizando a sugestão de tabela NOLOCK e a consulta acede a páginas BLOB 10.000, o número de leituras lógicos relacionados com páginas IAM será 175 * 10.000 = 1,750,000 no pior dos casos. Se SQL Server localizar a página IAM correspondente por atravessar metade da lista ligada, o número médio de leituras lógicos relacionados com páginas IAM será aproximadamente 1,750,000 / 2 = 875,000. Esta é demasiado alto um custo para activar para uma consulta para aceder a páginas BLOB 10.000.

Resolução

Informações de actualização cumulativa para o SQL Server 2005

A correcção deste problema primeiro foi disponibilizada em 3 de actualização cumulativa para o SQL Server 2005 Service Pack 3. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2005, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
967909  (http://support.microsoft.com/kb/967909/ ) Pacote de actualização cumulativa 3 para 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. 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:
960598  (http://support.microsoft.com/kb/960598/ ) Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3

Informações de actualização cumulativa para o SQL Server 2008

A correcção deste problema primeiro foi disponibilizada em 5 de actualização cumulativa para o SQL Server 2008. 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:
969531  (http://support.microsoft.com/kb/969531/ ) Pacote de actualização cumulativa 5 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:
956909  (http://support.microsoft.com/kb/956909/ ) O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008

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

A correcção para este problema utiliza a cache IAM para determinar rapidamente se uma página BLOB é realmente atribuída.

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção que é descrita neste artigo da base de dados de conhecimento da Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
967909  (http://support.microsoft.com/kb/967909/LN/ ) Pacote de actualização cumulativa 3 para SQL Server 2005 Service Pack 3
Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção que é descrita neste artigo da base de dados de conhecimento da Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
969531  (http://support.microsoft.com/kb/969531/LN/ ) Pacote de actualização cumulativa 5 para o SQL Server 2008

Referências

Para obter mais informações sobre a lista de compilações disponíveis depois de SQL Server 2005 Service Pack 3, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
960598  (http://support.microsoft.com/kb/960598/ ) Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3
Para obter mais informações sobre a lista de compilações disponíveis depois de SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
956909  (http://support.microsoft.com/kb/956909/ ) O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008
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:
935897  (http://support.microsoft.com/kb/935897/ ) Um 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 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:
822499  (http://support.microsoft.com/kb/822499/ ) Novo 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:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbsurveynew kbhotfixrollup kbfix kbqfe kbexpertiseadvanced KB961049 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 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: 961049  (http://support.microsoft.com/kb/961049/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft