Microsoft เผยแพร่ Microsoft SQL Server ๒๐๐๕หรือ Microsoft SQL Server ๒๐๐๘หรือ SQL ๒๐๐๘ R2 การแก้ไขเป็นไฟล์ที่สามารถดาวน์โหลดได้หนึ่งไฟล์ เนื่องจากการแก้ไขจะสะสมแต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน Microsoft SQL Server ๒๐๐๕ก่อนหน้านี้หรือ Microsoft SQL Server ๒๐๐๘หรือ SQL ๒๐๐๘ R2 R2 เวอร์ชันแก้ไข
อาการ
สมมติว่าคุณเรียกใช้คิวรีบนอินสแตนซ์ของ Microsoft SQL Server ๒๐๐๕หรือ Microsoft SQL server ๒๐๐๘หรือ Microsoft SQL Server ๒๐๐๘ R2 ที่ตรงตามเงื่อนไขต่อไปนี้:
-
คิวรีมีตัวดำเนินการเชิงสัมพันธ์ ตัวอย่างเช่นตัวดำเนินการน้อยกว่า (<)
-
มีฟังก์ชัน DATEDIFF ในตัวถูกดำเนินการของตัวดำเนินการเชิงสัมพันธ์
ในสถานการณ์นี้ SQL Server อาจเลือกแผนคิวรีสภาพเพื่อเรียกใช้คิวรีนี้ ดังนั้นคิวรีอาจทำงานช้าลง
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากตัวเพิ่มประสิทธิภาพของ SQL Server underestimates จำนวนแถวที่จะถูกส่งกลับเมื่อคุณใช้ฟังก์ชันDATEDIFF
การแก้ไข
ข้อมูลโปรแกรมอัปเดตสะสม
SQL Server ๒๐๐๕ Service Pack 3
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน15การอัปเดตที่สะสมสำหรับ SQL Server ๒๐๐๕ Service Pack 3 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๕๐๗๗๖๖ แพคเกจโปรแกรมปรับปรุงที่สะสม15สำหรับ SQL Server ๒๐๐๕ Service Pack 3หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๕รุ่นก่อนหน้านี้ Microsoft ขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๙๖๐๕๙๘ รุ่นของ SQL Server ๒๐๐๕รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๕ Service Pack 3 ได้รับการเผยแพร่แล้ว โปรแกรมแก้ไขด่วนของ Microsoft SQL Server ๒๐๐๕จะถูกสร้างขึ้นสำหรับ SQL Server service pack ที่เฉพาะเจาะจง คุณต้องนำโปรแกรมแก้ไขด่วนของ SQL Server ๒๐๐๕ Service Pack 3 ไปใช้กับการติดตั้ง SQL Server ๒๐๐๕ Service Pack 3 ตามค่าเริ่มต้นโปรแกรมแก้ไขด่วนใดๆที่มีให้ใน SQL Server service pack จะรวมอยู่ใน SQL Server service pack ถัดไป
SQL Server ๒๐๐๕ Service Pack 4
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน2การปรับปรุงที่สะสมสำหรับ SQL Server ๒๐๐๕ Service Pack 4 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๔๘๙๔๐๙ แพคเกจโปรแกรมปรับปรุงที่สะสม2สำหรับ SQL Server ๒๐๐๕ Service Pack 4หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๕รุ่นก่อนหน้านี้ Microsoft ขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๔๘๕๗๕๗ SQL Server ๒๐๐๕รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๕ Service Pack 4 ถูกเผยแพร่แล้ว โปรแกรมแก้ไขด่วนของ Microsoft SQL Server ๒๐๐๕จะถูกสร้างขึ้นสำหรับ SQL Server service pack ที่เฉพาะเจาะจง คุณต้องนำโปรแกรมแก้ไขด่วนของ SQL Server ๒๐๐๕ Service Pack 4 ไปใช้กับการติดตั้ง SQL Server ๒๐๐๕ Service Pack 4 ตามค่าเริ่มต้นโปรแกรมแก้ไขด่วนใดๆที่มีให้ใน SQL Server service pack จะรวมอยู่ใน SQL Server service pack ถัดไป
SQL Server ๒๐๐๘ Service Pack 1
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน13การอัปเดตที่สะสมสำหรับ SQL Server ๒๐๐๘ Service Pack 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๔๙๗๖๗๓ แพคเกจโปรแกรมปรับปรุงที่สะสม13สำหรับ SQL Server ๒๐๐๘ Service Pack 1หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๘รุ่นก่อนหน้านี้ Microsoft ขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๙๗๐๓๖๕ SQL Server ๒๐๐๘รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ Service Pack 1 ได้รับการเผยแพร่แล้ว โปรแกรมแก้ไขด่วนของ Microsoft SQL Server ๒๐๐๘จะถูกสร้างขึ้นสำหรับ SQL Server service pack ที่เฉพาะเจาะจง คุณต้องนำโปรแกรมแก้ไขด่วนของ SQL Server ๒๐๐๘ Service Pack 1 ไปใช้กับการติดตั้ง SQL Server ๒๐๐๘ Service Pack 1 ตามค่าเริ่มต้นโปรแกรมแก้ไขด่วนใดๆที่มีให้ใน SQL Server service pack จะรวมอยู่ใน SQL Server service pack ถัดไป
SQL Server ๒๐๐๘ Service Pack 2
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน3การอัปเดตที่สะสมสำหรับ SQL Server ๒๐๐๘ Service Pack 2 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๔๙๘๕๓๕ แพคเกจโปรแกรมปรับปรุงที่สะสม3สำหรับ SQL Server ๒๐๐๘ Service Pack 2หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๘รุ่นก่อนหน้านี้ Microsoft ขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๔๐๒๖๕๙ SQL Server ๒๐๐๘รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ Service Pack 2 ถูกเผยแพร่แล้ว โปรแกรมแก้ไขด่วนของ Microsoft SQL Server ๒๐๐๘จะถูกสร้างขึ้นสำหรับ SQL Server service pack ที่เฉพาะเจาะจง คุณต้องนำโปรแกรมแก้ไขด่วนของ SQL Server ๒๐๐๘ Service Pack 2 ไปใช้กับการติดตั้ง SQL Server ๒๐๐๘ Service Pack 2 ตามค่าเริ่มต้นโปรแกรมแก้ไขด่วนใดๆที่มีให้ใน SQL Server service pack จะรวมอยู่ใน SQL Server service pack ถัดไป
SQL Server ๒๐๐๘ R2 Service Pack 1
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน1การอัปเดตที่สะสมสำหรับ SQL Server ๒๐๐๘ R2 Service Pack 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๕๔๔๗๙๓ แพคเกจโปรแกรมปรับปรุงที่สะสม1สำหรับ SQL Server ๒๐๐๘ R2 Service Pack 1หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไขรุ่นก่อนหน้าของ SQL Server ๒๐๐๘ R2 เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๕๖๗๖๑๖ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ R2 Service Pack 1 ได้รับการเผยแพร่แล้ว
SQL Server 2008 R2
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน7การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๕๐๗๗๗๐ แพคเกจโปรแกรมปรับปรุงที่สะสม7สำหรับ SQL Server ๒๐๐๘ R2 หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไขรุ่นก่อนหน้าของ SQL Server ๒๐๐๘ R2 เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๙๘๑๓๕๖ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ R2 ถูกเผยแพร่
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ให้เขียนคิวรีเพื่อให้แผนคิวรีไม่ใช้ฟังก์ชัน DATEDIFF ในเพรดิเคต ตัวอย่างเช่นต่อไปนี้อาจทำงานช้า:create procedure proc_test @date datetimeasselect COUNT (*) from t where c1 <DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) อย่างไรก็ตามคุณสามารถเขียนคิวรีดังต่อไปนี้เพื่อแก้ไขปัญหาดังต่อไปนี้create procedure proc_test2 @date datetimeasdeclare @datestr nvarchar(50), @sqlstr nvarchar(1024)set @datestr = CAST (DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) as nvarchar(50))set @sqlstr ='select COUNT (*) from t where c1 < ''' + @datestr + ''''exec (@sqlstr)
อ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการให้บริการแบบเพิ่มหน่วยสำหรับ SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๙๓๕๘๙๗ รูปแบบการให้บริการแบบเพิ่มหน่วยจะพร้อมใช้งานจากทีม SQL Server เพื่อจัดส่งโปรแกรมแก้ไขด่วนสำหรับปัญหาที่รายงานสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งชื่อ schema สำหรับการอัปเดต SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๘๒๒๔๙๙ แบบแผนการตั้งชื่อใหม่สำหรับแพคเกจการอัปเดตซอฟต์แวร์ของ Microsoft SQL Serverสำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการอัปเดตซอฟต์แวร์ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft