KB2520808 - แก้ไข: ข้อผิดพลาดตัวจัดกําหนดการที่ไม่ให้ผลตอบแทนเมื่อคุณเรียกใช้คิวรีที่ใช้ TVP ใน SQL Server 2008 หรือ SQL Server 2008 R2 ถ้าใช้ SQL Profiler หรือ SQL Server เหตุการณ์เพิ่มเติม

นำไปใช้กับ
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard

Microsoft แจกจ่ายการแก้ไข Microsoft SQL Server 2008 R2 เป็นไฟล์เดียวที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม การเผยแพร่ใหม่แต่ละรายการจะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2008 R2 รุ่นก่อนหน้า

อาการ

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

  • คุณใช้พารามิเตอร์ค่าตาราง (TVP) ที่มีหลายแถวบนคอมพิวเตอร์ที่ใช้ Microsoft SQL Server 2008 หรือ Microsoft SQL Server 2008 R2
  • คุณใช้ SQL Profiler หรือ SQL Server Extended Events บนเซิร์ฟเวอร์
  • คุณเรียกใช้คิวรีร่วมกันที่ใช้ TVP

ในสถานการณ์นี้ เกิดข้อผิดพลาดตัวจัดกําหนดการที่ไม่ให้ผลตอบแทน และคิวรีที่กําลังเรียกใช้อยู่บนตัวจัดกําหนดการเดียวกันจะทํางานช้า นอกจากนี้ ไฟล์การถ่ายโอนข้อมูลขนาดเล็กจะถูกสร้างขึ้นในโฟลเดอร์บันทึก SQL Server

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากมีข้อผิดพลาดในกลไกจัดการฐานข้อมูล SQL Server คอลัมน์ข้อความใน TVP จะถูกนําไปใช้เป็นสตริงแทรกหรือบัฟเฟอร์ และการเพิ่มจํานวนแถวจะเพิ่มจํานวนบัฟเฟอร์ อย่างไรก็ตาม กระบวนการที่ปล่อยบัฟเฟอร์นั้นใช้เวลานาน ดังนั้น ข้อผิดพลาดตัวจัดกําหนดการที่ไม่ให้ผลตอบแทนจะถูกสร้างขึ้นเมื่อการดําเนินการปล่อยและลดขนาดเกิดขึ้น

การแก้ปัญหา

เมื่อต้องการแก้ไขปัญหานี้ใน SQL Server 2008 R2 ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้:

  • ติดตั้งแพคเกจการปรับปรุงสะสม 7 สําหรับ SQL Server 2008 R2
  • ติดตั้งแพ็คเกจโปรแกรมแก้ไขด่วนต่อไปนี้

เมื่อต้องการแก้ไขปัญหานี้ใน SQL Server 2008 R2 หรือ SQL Server 2008 ให้ดูที่ส่วน "วิธีแก้ไขปัญหาชั่วคราว"

ข้อมูลการอัปเดตสะสม

SQL Server 2008 R2

                
การแก้ไขสําหรับปัญหานี้เผยแพร่ครั้งแรกในการอัปเดตสะสม 7 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 นี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2507770 แพคเกจการปรับปรุงสะสม 7 สําหรับ SQL Server 2008 R2 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่ๆ แต่ละรุ่นจะมีโปรแกรมแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2008 R2 รุ่นก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

981356 รุ่น SQL Server 2008 R2 ที่วางจําหน่ายภายหลัง SQL Server 2008 R2

ข้อมูลโปรแกรมแก้ไขด่วน

            
 โปรแกรมแก้ไขด่วนที่รองรับมีให้ใช้งานจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีวัตถุประสงค์เพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ใช้โปรแกรมแก้ไขด่วนนี้กับระบบที่ประสบปัญหาที่อธิบายไว้ในบทความนี้ โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับผลกระทบร้ายแรงจากปัญหานี้ เราขอแนะนําให้คุณรอการอัปเดตซอฟต์แวร์ครั้งถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

หากโปรแกรมแก้ไขด่วนพร้อมให้ดาวน์โหลด จะมีส่วน "โปรแกรมแก้ไขด่วนที่พร้อมใช้งาน" ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏ โปรดติดต่อฝ่ายสนับสนุนและบริการลูกค้าของ Microsoft เพื่อรับโปรแกรมแก้ไขด่วน

หมายเหตุ ถ้าเกิดปัญหาเพิ่มเติมหรือจําเป็นต้องมีการแก้ไขปัญหาใดๆ คุณอาจต้องสร้างคําขอบริการแยกต่างหาก ค่าใช้จ่ายสนับสนุนตามปกติจะนําไปใช้กับคําถามและปัญหาการสนับสนุนเพิ่มเติมที่ไม่เข้าเกณฑ์สําหรับโปรแกรมแก้ไขด่วนเฉพาะนี้ สําหรับรายการทั้งหมดของหมายเลขโทรศัพท์ฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft หรือสร้างคําขอบริการแยกต่างหาก โปรดเยี่ยมชมเว็บไซต์ของ Microsoft ต่อไปนี้:

/contactus/?ws=support หมายเหตุ: ฟอร์ม "โปรแกรมแก้ไขด่วนพร้อมใช้งาน" จะแสดงภาษาที่มีโปรแกรมแก้ไขด่วน หากคุณไม่เห็นภาษาของคุณ นั่นเป็นเพราะโปรแกรมแก้ไขด่วนไม่พร้อมใช้งานในภาษานั้น

ข้อกำหนดเบื้องต้น

หากต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องติดตั้ง Microsoft SQL Server 2008 R2

ข้อกำหนดในการรีสตาร์ต

คุณไม่จําเป็นต้องเริ่มต้นระบบคอมพิวเตอร์ใหม่หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลการเปลี่ยนโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนที่โปรแกรมแก้ไขด่วนที่ออกมาก่อนหน้านี้

ข้อมูลไฟล์

เวอร์ชันนี้มีแอตทริบิวต์ของไฟล์ (หรือแอตทริบิวต์ของไฟล์ที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับไฟล์เหล่านี้แสดงตามเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลของไฟล์ ข้อมูลไฟล์นั้นจะถูกแปลงเป็นเวลาท้องถิ่น หากต้องการค้นหาความแตกต่างระหว่างเวลา UTC และเวลาท้องถิ่นให้ใช้แท็บโซนเวลาในรายการวันที่และเวลาในแผงควบคุม

สําหรับ SQL Server 2008 R2 เวอร์ชัน x86 ที่รองรับทั้งหมด

ชื่อไฟล์ เวอร์ชันของไฟล์ ขนาดไฟล์ วันที่ เวลา แพลตฟอร์ม
Sqlservr.exe 2009.100.1769.0 42,919,776 22-มี.ค.-2011 19:37 x86

สําหรับ SQL Server 2008 R2 เวอร์ชัน x64 ที่รองรับทั้งหมด

ชื่อไฟล์ เวอร์ชันของไฟล์ ขนาดไฟล์ วันที่ เวลา แพลตฟอร์ม
Sqlservr.exe 2009.100.1769.0 61,974,880 22-มี.ค.-2011 18:46 x64

สําหรับ SQL Server 2008 R2 เวอร์ชัน IA-64 ที่สนับสนุนทั้งหมด

ชื่อไฟล์ เวอร์ชันของไฟล์ ขนาดไฟล์ วันที่ เวลา แพลตฟอร์ม
Sqlservr.exe 2009.100.1769.0 121,813,856 22-มี.ค.-2011 18:14 ไอเอ-64

              

              

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ใช้หนึ่งในวิธีต่อไปนี้:

  • อย่าใช้ SQL Profiler หรือ SQL Server Extended Events
  • คลิกเพื่อล้างกล่องกาเครื่องหมาย RPC:Starting และ RPC:เสร็จสมบูรณ์ ในข้อกําหนดการติดตาม

สถานะ

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

ข้อมูลเพิ่มเติม

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ TVP โปรดเยี่ยมชมเว็บไซต์ MSDN ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับ TVP สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ SQL Profiler ให้ไปที่เว็บไซต์ MSDN ต่อไปนี้:

ข้อมูลเพิ่มเติมเกี่ยวกับ SQL Profiler