FIX: Problema di prestazioni si verifica quando si utilizza il driver ODBC sqlncli11.dll per accedere a SQL Server in un'applicazione

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 3041859
Sintomi
Si supponga che si utilizza un driver ODBC sqlncli11.dll da access, Microsoft SQL Server 2012 o SQL Server 2014 in un'applicazione. Quando si utilizza il cursore del server e la funzione SQLFetch/ funzione SQLGetData per l'accesso di alcuni file binario di grandi dimensioni oggetto dati (BLOB) in SQL Server, si verifica un problema di prestazioni specialmente per i tipi di dati di grandi dimensioni come varbinary (max) o varchar (max).
Cause
Si tratta di un problema di progettazione per l'implementazione del SQLFetch/ SQLGetData funzione nel driver ODBC di SQL Server 2012. Quando la query utilizza cursori del server, il driver ODBC richiama sp_cursorfetch durante l'implementazione di SQLFetch e il server invia al client tutti i BLOB. Quindi, quando viene eseguita la funzione SQLGetData , sp_cursor porta nuovamente tutti i BLOB. Questo influisce notevolmente sulle prestazioni per i tipi di dati di grandi dimensioni come varbinary (max) o varchar (max).
Risoluzione

Informazioni sull'aggiornamento cumulativi

La nuova implementazione richiama sp_cursoroption per ottenere TEXTPTR_ONLY prima la sp_cursorfetche quindi chiama sp_cursoroption per riutilizzarlo TEXTDATA prima il sp_cursor. Ciò può migliorare le prestazioni.

Il problema è stato innanzitutto corretto nell'aggiornamento cumulativo seguente di SQL Server.

Raccomandazioni: Installare l'aggiornamento cumulativo più recente per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutte le correzioni di protezione che sono stati incluse nell'aggiornamento cumulativo precedente. Si consiglia di scaricare e installare aggiornamenti cumulativi per SQL Server:
Status
Microsoft ha confermato che questo è un problema nei prodotti Microsoft elencati nella sezione "Si applica a".

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 3041859 - Ultima revisione: 06/24/2015 05:27:00 - Revisione: 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 KbMtit
Feedback