Khắc phục: Vấn đề hiệu suất xảy ra khi bạn sử dụng driver ODBC sqlncli11.dll để truy cập vào SQL Server trong ứng dụng

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 3041859
Triệu chứng
Giả sử rằng bạn sử dụng driver ODBC sqlncli11.dll truy cập Microsoft SQL Server 2012 hoặc SQL Server 2014 trong ứng dụng. Khi bạn sử dụng máy chủ chạy và SQLFetch/ SQLGetData chức năng truy cập một số nhị phân lớn đối tượng (BLOB) dữ liệu trong SQL Server, một vấn đề hiệu suất xảy ra đặc biệt cho các loại dữ liệu lớn như varbinary (tối đa) hoặc varchar (tối đa).
Nguyên nhân
Đây là một vấn đề thiết kế để thực hiện SQLFetch/ SQLGetData chức năng trong SQL Server 2012 ODBC trình điều khiển. Khi truy vấn sử dụng bất kỳ con trỏ máy chủ, driver ODBC invokes sp_cursorfetch trong quá trình triển khai SQLFetch và máy chủ gửi tất cả BLOB cho khách hàng. Sau đó, khi thực thi SQLGetDatasp_cursor mang lại cho tất cả BLOB lại. Điều này rất nhiều ảnh hưởng đến hiệu suất cho các loại dữ liệu lớn như varbinary (tối đa) hoặc varchar (tối đa).
Giải pháp

Thông tin Cập Nhật tích luỹ

Triển khai mới invokes sp_cursoroption tải TEXTPTR_ONLY trước khi sp_cursorfetch, và sau đó invokes sp_cursoroption đặt về TEXTDATA trước khi sp_cursor. Điều này có thể cải thiện hiệu năng.

Số lần đầu tiên được khắc phục trong bản Cập Nhật tích luỹ sau của SQL Server.

Giới thiệu: cài đặt chuyên biệt bản Cập Nhật tích luỹ mới nhất cho SQL Server
Mỗi bản Cập Nhật tích luỹ mới cho SQL Server có chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật mà được đính kèm với bản Cập Nhật tích luỹ trước đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt chuyên biệt các bản Cập Nhật tích luỹ mới nhất cho SQL Server:
Tình trạng
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 3041859 - Xem lại Lần cuối: 06/22/2015 14:29:00 - Bản sửa đổi: 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 KbMtvi
Phản hồi