อาการ
สมมติว่าคุณใช้ Microsoft SQL Server ๒๐๑๔ เมื่อคุณพยายามใช้datepart (วัน ทำงาน) ในกระบวนงานที่เก็บรวบรวมที่รวบรวมไว้โดยไม่มีการละเมิดการเข้าถึงและการเชื่อมต่อจะสิ้นสุดลง นอกจากนี้คุณจะได้รับข้อผิดพลาดต่อไปนี้:
เกิดข้อผิดพลาดร้ายแรงบนคำสั่งปัจจุบัน ผลลัพธ์ถ้ามีควรละทิ้ง
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากข้อบกพร่องใน SQL Server 2014 การใช้datepartกับอาร์กิวเมนต์ char จะแนะนำการแปลงโดยนัยเป็นdatetimeoffset กระบวนงานที่เก็บไว้แบบดั้งเดิมไม่สนับสนุนdatetimeoffset
การแก้ไข
หลังจากที่มีการนำโปรแกรมแก้ไขด่วนไปใช้ SQL Server จะทำการเปลี่ยนแปลงเพื่อแนะนำตรรกะใหม่เมื่อต้องการแปลงอาร์กิวเมนต์อักขระเป็นdatetime2 สำหรับกระบวนงานที่เก็บไว้ดั้งเดิมและ datetimeoffset สำหรับกระบวนงานที่เก็บไว้เป็นประจำและการพับแบบคงที่ ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมของ SQL Server ครั้งแรก
การอัปเดตที่สะสม1สำหรับ SQL Server ๒๐๑๔ /en-us/help/2931693
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหาการแปลงเป็นชนิดdatetime ที่ได้รับการสนับสนุนอย่างชัดเจน
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"