Triệu chứng
Giả định rằng bạn sử dụng Microsoft SQL Server 2014. Khi bạn tìm cách sử dụng datePart (ngày trong tuần) trong một thủ tục được lưu trữ nguyên bản, có một sự vi phạm truy nhập và kết nối đã kết thúc. Ngoài ra, bạn nhận được lỗi sau đây:
Một lỗi nghiêm trọng xảy ra trên lệnh hiện tại. Kết quả, nếu có, hãy loại bỏ.
Nguyên nhân
Sự cố xảy ra vì khiếm khuyết trong SQL Server 2014. sử dụng datePart với đối số Char giới thiệu một chuyển đổi tiềm ẩn đến datetimeoffset. Thủ tục lưu trữ gốc không hỗ trợ các datetimeoffset.
Giải pháp
Sau khi áp dụng hotfix, SQL Server sẽ thực hiện thay đổi để giới thiệu logic mới để chuyển đổi đối số Char đến datetime2 cho các thủ tục lưu trữ gốc và datetimeoffset cho thủ tục được lưu trữ thường xuyên và dấu liên tục. Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Cập Nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Cách giải quyết
Để giải quyết vấn đề này, hãy chuyển đổi rõ ràng thành kiểu DateTime được hỗ trợ.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".