CORRECÇÃO: Erro de programador não cedente quando executa uma consulta que utiliza um TVP no SQL Server 2008 ou no SQL Server 2008 R2 se for utilizados o SQL Profiler ou expandido eventos do servidor SQL

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: 2520808

A Microsoft distribui correcções Microsoft SQL Server 2008 R2 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 com o SQL Server 2008 R2 anterior.
Sintomas
Considere o seguinte cenário:
  • Utilizar um parâmetro tabelares (TVP) que contém o número de linhas num computador que esteja a executar o Microsoft SQL Server 2008 ou o Microsoft SQL Server 2008 R2.
  • Utilize o SQL Profiler ou eventos expandida do SQL Server no servidor.
  • Executar uma consulta em conjunto que utiliza o TVP.
Neste cenário, ocorre um erro de programador não cedente e consultas que já estão em execução no programador de mesmo executado lentamente. Além disso, é gerado um ficheiro de mini-dump na pasta de registo do SQL Server.
Causa
Este problema ocorre devido a um erro no motor de base de dados do SQL Server. As colunas de texto na TVP são implementadas como inserir cadeias ou memórias intermédias e um aumento do número de linhas aumenta o número de memórias intermédias. No entanto, o processo que liberta memórias intermédias é uma tarefa demorado. Por conseguinte, é gerado um erro de programador não cedente quando libertar e encolher operações ocorrem.

Resolução
Para resolver este problema no SQL Server 2008 R2, utilize um dos seguintes métodos:
  • Instale o pacote de actualização cumulativa 7 para SQL Server 2008 R2.
  • Instale o pacote de correcção seguinte.

Para contornar este problema no SQL Server 2008 R2 ou do SQL Server 2008, consulte a secção "Como contornar".

Informações de actualização cumulativa


SQL Server 2008 R2

A correcção deste problema publicada pela primeira vez na actualização cumulativa 7. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 R2, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2507770Pacote de actualização cumulativa 7 para SQL Server 2008 R2
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção inclui todas as correcções e correcção de todas as correcções de segurança que foram incluídas com o SQL Server 2008 R2 anterior. Recomendamos que pense em aplicar a edição mais recente da correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
981356Cria o SQL Server 2008 R2 que foram disponibilizadas após o lançamento do SQL Server 2008 R2

Informações sobre a correcção

Existe uma correcção suportada da Microsoft. No entanto, esta correcção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Knowledge Base. Se esta secção não for apresentado, contacte o suporte ao cliente da Microsoft para obter a correcção.

NotaCaso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não são elegíveis para esta correcção específica. Para uma lista completa dos números de telefone do Microsoft Customer Service e suporte ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:NotaO formulário "Transferência de correcção disponível" apresenta os idiomas para o qual a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Para aplicar esta correcção, tem de ter o Microsoft SQL Server 2008 R2 instalado.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui uma correcção disponibilizada anteriormente.

Informações de ficheiro

A versão isto tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na Hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize aFuso horáriono separador aData e horaitem no painel de controlo.

Para todas as suportadas x 86-versões do SQL Server 2008 R2
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Sqlservr.exe2009.100.1769.042,919,77622-Mar-201119: 37x86
Para todas as suportadas x 64-versões do SQL Server 2008 R2
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Sqlservr.exe2009.100.1769.061,974,88022-Mar-201118: 46x64
Para todas as IA-64-versões suportadas do SQL Server 2008 R2
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Sqlservr.exe2009.100.1769.0121,813,85622-Mar-201118: 14IA-64


Como contornar
Para contornar este problema, utilize um dos seguintes métodos:
  • Não utilize o SQL Profiler ou expandido eventos do servidor SQL.
  • Clique para desmarcar aRPC: inícioeRPC: concluídacaixas de verificação na definição de rastreio.
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
Para mais informações sobre TVP, visite o seguinte Web site da MSDN:
Para mais informações sobre o SQL Profiler, visite o seguinte Web site da MSDN:

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2520808 - Última Revisão: 04/19/2011 12:40:00 - Revisão: 4.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard

  • kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2520808 KbMtpt
Comentários