การแก้ไข: ข้อผิดพลาดเมื่อการแจ้งเตือนเงื่อนไขประสิทธิภาพการทำงานของเซิร์ฟเวอร์ SQL ถูกยกใน SQL Server 2008 R2

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2587511 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

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

อาการ

เมื่อการแจ้งเตือนเงื่อนไขประสิทธิภาพการทำงานของเซิร์ฟเวอร์ SQL ถูกยกใน Microsoft SQL Server 2008 R2 คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข่าวสารเกี่ยวกับ 512 ระดับ 16 สถานะ 1 กระบวนการ sp_sqlagent_get_perf_counters, 40 บรรทัด
แบบสอบถามย่อยส่งกลับค่าที่มากกว่า 1 ซึ่งไม่ได้รับอนุญาตเมื่อแบบสอบถามย่อยตาม =, ! =, <,> </,> <= ,="">, > = หรือเมื่อมีใช้แบบสอบถามย่อยเป็นนิพจน์ที่</=>
นอกจากนี้ ข้อความแสดงข้อผิดพลาดถูกบันทึกไว้ในล็อกข้อผิดพลาดของบริษัทตัวแทนการเซิร์ฟเวอร์ SQL ในสถานการณ์นี้

หมายเหตุ นอกจากนี้ปัญหานี้เกิดขึ้นใน Microsoft SQL Server 2008

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากแบบสอบถามย่อยของการ msdb.dbo.sp_sqlagent_get_perf_counters ขั้นตอนของระบบที่เก็บไว้คำนวณค่าของตัวนับไม่ถูกต้อง

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

หมายเหตุ ที่ msdb.dbo.sp_sqlagent_get_perf_counters ระบบจัดเก็บขั้นตอนการเรียกใช้เมื่อการแจ้งเตือนเงื่อนไขประสิทธิภาพการทำงานของเซิร์ฟเวอร์ SQL ถูกยก

การแก้ไข

ปรับปรุงข้อมูล

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

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


การหลีกเลี่ยงปัญหา

เมื่อต้องการหลีกเลี่ยงปัญหานี้ การปรับปรุงแบบสอบถามย่อยของการ msdb.dbo.sp_sqlagent_get_perf_counters กระบวนงานที่เก็บไว้ของระบบ เมื่อต้องการทำเช่นนี้ ให้เพิ่มเงื่อนไขต่อไปนี้เพื่อ สถาน อนุประโยคของแบบสอบถามย่อยทั้งสี่ที่ใช้ในการ [ค่า] การคำนวณคอลัมน์:
(spi1.[object_name] = spi2.[object_name])
มีหลังจากที่คุณเพิ่มเงื่อนไข แบบสอบถามย่อยในลักษณะต่อไปนี้:
SELECT CASE spi2.cntr_value WHEN 0 THEN 1 ELSE spi2.cntr_value END
FROM sys.dm_os_performance_counters spi2
WHERE (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 ที่ระบุไว้ในส่วน"ใช้งาน"

คุณสมบัติ

หมายเลขบทความ (Article ID): 2587511 - รีวิวครั้งสุดท้าย: 17 ตุลาคม 2554 - Revision: 1.0
ใช้กับ
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
Keywords: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2587511 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2587511

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com