Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Suponha que você use um driver ODBC sqlncli11. dll para acessar o Microsoft SQL Server 2012 ou o SQL Server 2014 em um aplicativo. Quando você usa o cursor do servidor e a função SQLFetch/ SQLGetData para acessar alguns dados binários grandes (BLOB) no SQL Server, um problema de desempenho ocorre especialmente para tipos de dados grandes, como varbinary (max) ou varchar (max).

Causa

Trata-se de um problema de design da implementação da função SQLFetch/ SQLGETDATA no driver ODBC do SQL Server 2012. Quando a consulta usa cursores de servidor, o driver ODBC invoca sp_cursorfetch durante a implementação SQLFetch , e o servidor envia todo o blob para o cliente. Em seguida, quando SQLGetData é executado, sp_cursor traz novamente todo o blob. Isso afeta bastante o desempenho de grandes tipos de dados, como varbinary (max) ou varchar (max).

Resolução

Informações de atualização cumulativa

A nova implementação invoca sp_cursoroption para obter TEXTPTR_ONLY antes da sp_cursorfetche, em seguida, invoca sp_cursoroption para colocá-la novamente em TextData antes do sp_cursor. Isso pode melhorar o desempenho. O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Recomendamos que você baixe e instale as atualizações cumulativas mais recentes do SQL Server:

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.