FIX: sqlncli11.dll ODBC 드라이버를 사용 하 여 SQL Server 응용 프로그램에 액세스할 때 성능 문제가 발생

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:3041859
현상
응용 프로그램에서 액세스할 Microsoft SQL Server 2012 또는 SQL Server 2014 sqlncli11.dll ODBC 드라이버를 사용 한다고 가정 합니다. SQLFetch및 서버 커서를 사용할 때 / SQLGetData 함수 액세스 일부 이진 대형 개체 (BLOB) 데이터를 SQL Server varchar (max) 또는 varbinary (max)와 같은 큰 데이터 형식에 대해 특히 성능 문제가 발생 합니다.
원인
SQLFetch의 구현 위한 설계 문제 인지 / SQLGetData SQL Server 2012 ODBC 드라이버의 기능입니다. 쿼리는 서버 커서를 사용할 때 ODBC 드라이버는 sp_cursorfetchSQLFetch 구현 하는 동안 호출 하 고 서버 모든 BLOB를 클라이언트에 보냅니다. 다음, SQLGetData 를 실행 하면 sp_cursor 모든 BLOB이 다시 나타납니다. 이 varchar (max) 또는 varbinary (max)와 같은 큰 데이터 형식에 대 한 성능을 크게 영향을 줍니다.
해결 방법

누적 업데이트 정보

새로운 구현 sp_cursorfetch하기 전에 TEXTPTR_ONLY를 얻을 수 있는 sp_cursoroption 를 호출 하 고 sp_cursor전에 텍스트 데이터를 다시 활용할 수 있는 sp_cursoroption 를 호출 합니다. 이 성능을 개선할 수 있습니다.

문제가는 SQL Server 다음 누적 업데이트에서 처음 수정 되었습니다.

SQL Server 대 한 최신 누적 업데이트를 설치 하는 권장 사항:
각 새 누적 업데이트 SQL Server 대 한 모든 핫픽스를 포함 하 고 이전 누적 업데이트에 포함 된 모든 보안 수정 프로그램. 다운로드 하 고 SQL Server 대 한 최신 누적 업데이트를 설치 하는 것이 좋습니다.
현재 상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 3041859 - 마지막 검토: 06/24/2015 05:25:00 - 수정: 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 KbMtko
피드백