CORRECÇÃO: A utilização da memória de um serviço do SQL Server rapidamente aumenta quando executa uma consulta que utiliza um servidor ligado em SQL Server 2005 ou do SQL Server 2008

Aplica-se a: SQL Server 2008 StandardSQL Server 2008 DeveloperSQL Server 2008 Enterprise

A Microsoft distribui correcções do Microsoft SQL Server 2008, como um ficheiro para transferência. Uma vez que as correcções são cumulativas, cada nova versão inclui todas as correcções e correcção de todas as correcções de segurança que foram incluídas no anterior do SQL Server 2008.

Sintomas


No Microsoft SQL Server 2005 ou SQL Server 2008, executar um procedimento armazenado num servidor remoto utilizando o servidor ligado. Depois de executar os procedimentos armazenados muitas vezes, é possível que a utilização da memória do serviço SQL Server aumenta rapidamente. Além disso, o diferentes erro mensagens relacionadas empobrecimento da camada de memória no espaço de endereço MemTolLeave poderá ser registado no ficheiro errorlog de SQL Server 2008.

Nota Também poderá detectar este problema quando utiliza replicação, envio de registo ou espelhamento (mirroring). Estas funcionalidades podem utilizar procedimentos armazenados que utilizam um servidor ligado.

Causa


Este problema é causado por uma fuga de memória que ocorre quando executa uma consulta que utiliza um servidor ligado. A fuga ocorre quando chama um procedimento armazenado remoto. Existem dois tipos de fugas de potenciais:
  • O valor devolvido da chamada de procedimento armazenado, o que é sempre fuga. Esta é uma fuga de pequena mas regular.
  • Uma chamada de procedimento armazenado remoto que tenha parâmetros do tipo de dados sqlvariant de saída.

Resolução


SQL Server 2008 Service Pack 1


A correcção deste problema publicada pela primeira vez na actualização cumulativa 3 para SQL Server 2008 Service Pack 1. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
971491 cumulativo pacote 3 de actualizações do SQL Server 2008 Service Pack 1
Nota Uma vez que as compilações são cumulativas, cada edição contém todas as correcções e correcção de todas as correcções de segurança que foram incluídas no anterior do SQL Server 2008. A Microsoft recomenda que pense em aplicar a edição de correcção mais recente que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
970365 o SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Correcções do Microsoft SQL Server 2008 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.

SQL Server 2005 Service Pack 3


A correcção deste problema primeiro foi disponibilizada em 6 de actualização cumulativa para o SQL Server 2005 Service Pack 3. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
974648 cumulativo pacote 6 de actualizações do SQL Server 2005 Service Pack 3
Nota Uma vez que as compilações são cumulativas, cada edição contém todas as correcções e correcção de todas as correcções de segurança que foram incluídas com o SQL Server 2005 anterior. A Microsoft recomenda que pense em aplicar a edição de correcção mais recente que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
Compilações do SQL Server 2005 do 960598 , que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3
Correcções Microsoft SQL Server 2005 são criadas 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.

A versão do SQL Server 2008

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

A correcção para este problema foi primeiro disponibilizada em 8 de actualização cumulativa. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
975976 cumulativo pacote 8 de actualizações do SQL Server 2008
Nota Uma vez que as compilações são cumulativas, cada edição contém todas as correcções e correcção de todas as correcções de segurança que foram incluídas no anterior do SQL Server 2008. Recomendamos que pense em aplicar a edição de correcção mais recente que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
956909 o SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008

Estado


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

Referências


Para mais informações sobre o modelo de Assistência Incremental para o SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

935897 um modelo de Assistência Incremental está disponível a partir da equipa do SQL Server para proporcionar correcções para problemas comunicados


Para mais informações sobre o esquema de atribuição para actualizações do SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

822499 Novo esquema de atribuição de nomes para pacotes de actualização de software do Microsoft SQL Server


Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Mais informações


Informações de BPA do SQL Server 2008 R2

O SQL Server 2008 R2 prática analisador de melhores (SQL Server 2008 R2 BPA) fornece uma regra para detectar situações em que a instância do SQL Server tem ligados a servidores que estão configurados para utilização e não se aplicar esta correcção. O SQL Server 2008 R2 BPA suporta o SQL Server 2008 e o SQL Server 2008 R2.

Se executar a ferramenta BPA e encontrar o aviso, "Motor de base de dados - correcção de fuga de memória de servidor ligado em falta," é necessário examinar os sintomas mencionados neste artigo e aplicar a actualização cumulativa que é adequado.

Referências

Software de regraTítulo de regraIdentificador de regra
Regra BPA do SQL Server 2008 R2falta correcção de fuga de memória do servidor ligadoRID3807