KB2950209 - KHẮC PHỤC: Vi phạm truy nhập khi độ lệch bắt đầu lớn hơn độ dài chuỗi trong hàm Chuỗi phụ ở SQL Server

Áp dụng cho
SQL Server 2012 Enterprise SQL Server 2012 Developer 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)

Triệu chứng

Giả sử bạn sử dụng hàm Substring (biểu thức, bắt, độ dài) trong Microsoft SQL Server 2012 Gói dịch vụ 1 (SP1), Cập nhật Tích lũy 1 (CU1) và các phiên bản mới hơn hoặc SQL Server 2014. Khi độ dài của biểu thức lớn hơn 8000 và bắt đầu lớn hơn độ dài của biểu thức, vi phạm truy nhập sẽ xảy ra. Ngoài ra, bạn sẽ nhận được lỗi sau:

Lưu ý

Đã xảy ra lỗi nghiêm trọng trên lệnh hiện tại. Kết quả, nếu có, nên bị loại bỏ.

Giải pháp

Sự cố này được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server.
Sau khi áp dụng hotfix, biểu thức độ dài bằng 0 được trả về khi phần bắt đầu lớn hơn số ký tự trong biểu thức giá trị.

Bản cập nhật tích lũy 1 cho SQL Server 2012 SP2 /en-us/help/2976982

Cập nhật Tích lũy 2 cho SQL Server 2014 /en-us/help/2967546

Cập nhật tích lũy 10 cho SQL Server 2012 SP1 /en-us/help/2954099

Giới thiệu về các bản cập nhật tích lũy cho SQL Server

Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:

      

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".