KB3136496 - การแก้ไข: การละเมิดการเข้าถึงเกิดขึ้นเมื่อคิวรีอ้างอิงฟังก์ชัน SQLCLR ผ่านคําเหมือนใน SQL Server 2014 และ 2016

นำไปใช้กับ
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • มีฟังก์ชัน SQLCLR ที่ประกาศเป็น "deterministic" และฟังก์ชันสามารถใช้สําหรับการเพิ่มประสิทธิภาพ "แทนที่ด้วยค่าคงที่"
  • มีคําเหมือนที่ชี้ไปยังฟังก์ชัน SQLCLR
  • ฟังก์ชันที่มีค่าตาราง (TVF) อ้างอิงไปยังฟังก์ชัน SQLCLR ผ่านคําเหมือน

ในสถานการณ์สมมตินี้ เมื่อโปรแกรมประยุกต์สอบถาม TVF นี้ การละเมิดการเข้าถึงอาจเกิดขึ้น และคุณอาจได้รับข้อความแสดงข้อผิดพลาดที่มีลักษณะต่อไปนี้:

หมายเหตุ

  • ข้อความ 0, ระดับ 11, รัฐ 0, แถว 14
  • มีข้อผิดพลาดร้ายแรงเกิดขึ้นในคําสั่งปัจจุบัน ผลลัพธ์ควรถูกละทิ้ง (ถ้ามี)

นอกจากนี้ ข้อความแสดงข้อผิดพลาดจะถูกบันทึกในบันทึกข้อผิดพลาด SQL Server

การแก้ปัญหา

ข้อมูล Service Pack สําหรับ SQL Server

ปัญหานี้ได้รับการแก้ไขแล้วใน Service Pack ต่อไปนี้สําหรับ SQL Server:

Service Pack 2 สําหรับ SQL Server 2016

Service Pack 3 สําหรับ SQL Server 2014

เกี่ยวกับ Service Pack สําหรับ SQL Server:

Service Pack เป็นแบบสะสม Service Pack ใหม่แต่ละตัวจะมีการแก้ไขทั้งหมดที่อยู่ใน Service Pack รุ่นก่อนหน้า พร้อมกับการแก้ไขใหม่ๆ คําแนะนําของเราคือการใช้ Service Pack ล่าสุดและการอัปเดตแบบสะสมล่าสุดสําหรับ Service Pack นั้น คุณไม่จําเป็นต้องติดตั้ง Service Pack รุ่นก่อนหน้าก่อนที่คุณจะติดตั้ง Service Pack รุ่นล่าสุด ใช้ตารางที่ 1 ในบทความต่อไปนี้สําหรับการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ Service Pack ล่าสุดและการอัปเดตแบบสะสมล่าสุด

วิธีการตรวจสอบเวอร์ชัน รุ่น และระดับการอัปเดตของ SQL Server และคอมโพเนนต์

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

การอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์