Corrigir: Problema de desempenho ocorre quando utiliza o controlador ODBC de sqlncli11.dll para aceder a SQL Server numa aplicação

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: 3041859
Sintomas
Suponha que utiliza um controlador ODBC de sqlncli11.dll para acesso 2012 do Microsoft SQL Server ou SQL Server 2014 numa aplicação. Quando utiliza o cursor do servidor e o SQLFetch/ SQLGetData de função para aceder a alguns binários grandes object dados (BLOB) no SQL Server, ocorre um problema de desempenho especialmente para tipos de dados grandes como (máx.) varbinary ou varchar (max).
Causa
Este é um problema de concepção para execução da SQLFetch/ SQLGetData function no controlador de ODBC para SQL Server 2012. Quando a consulta utiliza qualquer cursores de servidor, o controlador de ODBC invoca sp_cursorfetch durante a execução de SQLFetch e o servidor envia todos os o BLOB para o cliente. Em seguida, quando é executada a SQLGetData , sp_cursor coloca todos os o BLOB novamente. Isto afecta significativamente o desempenho para tipos de dados de grandes dimensões como (máx.) varbinary ou varchar (max).
Resolução

Informações sobre a actualização cumulativa

A nova implementação invoca o sp_cursoroption para obter TEXTPTR_ONLY antes do sp_cursorfetche, em seguida, invoca sp_cursoroption colocá-lo novamente para TEXTDATA antes do sp_cursor. Isto pode melhorar o desempenho.

O problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.

Recomendação: Instale a actualização cumulativa mais recente para o SQL Server
Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas com a anterior actualização cumulativa. Recomendamos que transfira e instale as ultimas actualizações cumulativas para o SQL Server:
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3041859 - Última Revisão: 06/24/2015 04:53:00 - Revisão: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3041859 KbMtpt
Comentários