ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

Microsoft กระจาย Microsoft SQL Server ๒๐๐๘ R2 Service Pack 1 (SP1) เป็นไฟล์ที่สามารถดาวน์โหลดได้หนึ่งไฟล์ เนื่องจากการแก้ไขจะสะสมแต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการอัปเดตความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตล่าสุดของ SQL Server ๒๐๐๘ R2 Service Pack 1 (SP1) รุ่นก่อนหน้า

อาการ

เมื่อการแจ้งเตือนเงื่อนไขประสิทธิภาพการทำงานของ SQL Server ถูกยกกำลังใน Microsoft SQL Server ๒๐๐๘ R2 คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

Msg ๕๑๒ระดับ16สถานะ1กระบวนการ sp_sqlagent_get_perf_counters บรรทัด40Subquery ส่งกลับค่ามากกว่า1 การทำเช่นนี้ไม่ได้รับอนุญาตเมื่อมีการใช้แบบสอบถามย่อยต่อไปนี้ =! =, <, <=, >, >= หรือเมื่อมีการใช้แบบสอบถามย่อยเป็นนิพจน์

นอกจากนี้ข้อความแสดงข้อผิดพลาดจะถูกบันทึกในแฟ้มบันทึกข้อผิดพลาดของบริษัทตัวแทนของ SQL Server ในสถานการณ์นี้หมายเหตุ นอกจากนี้ปัญหานี้เกิดขึ้นใน Microsoft SQL Server ๒๐๐๘

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากคิวรีย่อยของกระบวนงานที่เก็บไว้ของระบบ msdb.dbo.sp_sqlagent_get_perf_counters คำนวณค่าของตัวนับอย่างไม่ถูกต้อง คิวรีย่อยขาดความสัมพันธ์การรวมภายในสำหรับคอลัมน์ [object_name] ในเงื่อนไขของแบบสอบถามย่อย ดังนั้นแถวหลายแถวจะถูกส่งกลับอย่างไม่ถูกต้องและปัญหาที่กล่าวถึงในส่วน "อาการ" เกิดขึ้นหมายเหตุ กระบวนงานที่เก็บไว้ของระบบ msdb.dbo.sp_sqlagent_get_perf_counters จะทำงานเมื่อการแจ้งเตือนเงื่อนไขประสิทธิภาพการทำงานของ SQL Server ถูกยกกำลัง

การแก้ไข

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

แพคเกจโปรแกรมปรับปรุงที่สะสม3สำหรับ SQL Server ๒๐๐๘ R2 SP1

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกในแพคเกจโปรแกรมปรับปรุงที่สะสม3 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 SP1 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

๒๕๙๑๗๔๘ แพคเกจโปรแกรมปรับปรุงที่สะสม3สำหรับ SQL Server ๒๐๐๘ R2 SP1หมายเหตุ เนื่องจาก builds สะสมการวางจำหน่ายการอัปเดตใหม่แต่ละครั้งจะมีโปรแกรมแก้ไขด่วนทั้งหมดและการอัปเดตความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่วางจำหน่ายก่อนหน้านี้ของ SQL Server ๒๐๐๘ R2 SP1 เราขอแนะนำให้คุณพิจารณานำการอัปเดตล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้มาใช้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

๒๕๖๗๖๑๖ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจากที่มีการเผยแพร่ SQL Server ๒๐๐๘ R2 SP1

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

เมื่อต้องการแก้ไขปัญหานี้ให้อัปเดตข้อมูลแบบสอบถามย่อยของกระบวนงานที่เก็บไว้ของระบบmsdb.dbo.sp_sqlagent_get_perf_counters เมื่อ ต้องการทำ เช่นนี้ให้เพิ่มเงื่อนไขต่อไปนี้ลงในส่วนคำสั่ง where ของแบบสอบถามย่อยสี่รายการที่ใช้ในการคำนวณคอลัมน์ [ค่า] :

(spi1.[object_name] = spi2.[object_name])

หลังจากที่คุณเพิ่มเงื่อนไขแบบสอบถามย่อยจะมีลักษณะดังต่อไปนี้:

SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value ENDFROM sys.dm_os_performance_counters spi2WHERE (spi1.[object_name] = spi2.[object_name])AND (spi1.counter_name + ' ' = SUBSTRING(spi2.counter_name, 1, PATINDEX('% Base%', spi2.counter_name)))AND (spi1.instance_name = spi2.instance_name)AND (spi2.cntr_type = @perfTypeLargeRawBase

สถานะ

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×