KB2938460 - KHẮC PHỤC: Vi phạm quyền truy nhập xảy ra khi bạn tìm cách sử dụng datepart (weekday) trong một thủ tục lưu trữ được biên dịch riêng ở SQL Server 2014

Áp dụng cho
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ử rằng bạn sử dụng Microsoft SQL Server 2014. Khi bạn tìm cách sử dụng datepart (weekday) trong một thủ tục lưu trữ được biên dịch riêng thì sẽ xảy ra một vi phạm truy nhập và kết nối sẽ bị chấm dứt. 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ỏ.

Nguyên nhân

Sự cố xảy ra là do lỗi trong SQL Server 2014.
Việc sử dụng datepart với đối số char dẫn đến việc chuyển đổi ngầm thành datetimeoffset. Thủ tục lưu trữ riêng không hỗ trợ offset/ngày/giờ.

Giải pháp

Sau khi hotfix được áp dụng, SQL Server sẽ thực hiện thay đổi để giới thiệu lô-gic mới nhằm chuyển đổi đối số char thành datetime2 cho thủ tục lưu trữ gốc và datetimeoffset cho thủ tục lưu trữ thông thường và gập không đổi.
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.

Cập nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693

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:

      

Giải pháp thay thế

Để khắc phục sự cố này, hãy chuyển đổi rõ ràng sang kiểu ngày giờ được hỗ trợ.

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".