อาการ
คอมพิวเตอร์ไคลเอนต์ไม่รายงานกลับไปยังเซิร์ฟเวอร์ของ Microsoft Windows ซอฟต์แวร์ Update Services (WSUS) นอกจากนี้ อาจเกิดอาการต่าง ๆ ต่อไปนี้:
-
ข้อความแสดงข้อผิดพลาดต่อไปนี้ถูกบันทึกไว้ในล็อกไฟล์ Windowsupdate.log ในคอมพิวเตอร์ไคลเอนต์:
คำเตือน: ไม่สามารถอัปโหลดเหตุการณ์ไปยังเซิร์ฟเวอร์กับ hr = 80244008
-
ข้อผิดพลาดการหมดเวลาของ Microsoft SQL Server จะแสดงในคอนโซลการดูแลระบบบนเซิร์ฟเวอร์ WSUS
-
แฟ้ม SoftwareDistribution.log ที่อยู่ในโฟลเดอร์ %programfiles%\Microsoft Services\LogFiles การปรับปรุงของ Windows ประกอบด้วยข้อความที่คล้ายกับต่อไปนี้:
<DATE>
<TIME>
ข้อผิดพลาด UTC w3wp.130DBConnection.LogSqlExceptionDBLAYER: ข้อผิดพลาด [0]: ตัวให้บริการข้อมูล SqlClient .Net แหล่ง เซิร์ฟเวอร์ OPC-โฆษณา-WSUS1N\WSUS หมายเลข -2 ชั้น 10, 0, ConnectionRead กระบวนงานของรัฐ (WrapperRead())
LineNumber 0: หมดเวลา การหมดเวลาของรอบระยะเวลาที่ผ่านไปก่อนที่จะดำเนินการเสร็จสมบูรณ์ของการดำเนินงาน หรือเซิร์ฟเวอร์ไม่ตอบสนอง
สาเหตุ
ปัญหานี้เกิดขึ้นถ้าจำนวนของเหตุการณ์ที่รายงานในตาราง tbEventInstance เกิน 1 ล้านแถว
เซิร์ฟเวอร์ WSUS ที่กำลังใช้ฮาร์ดแวร์แนะนำสามารถสนับสนุนไคลเอนต์ 15,000 จำนวน โดยใช้วงจรการตรวจหารายการเริ่มต้นของชั่วโมง 22 จำนวนของรายงานเหตุการณ์ที่ถูกเพิ่มไปยังตาราง tbEventInstance ขึ้นอยู่ กับจำนวนของไคลเอนต์ และ บนความถี่ที่ถูกตั้งค่าสำหรับแต่ละรอบการตรวจหา การลบแถวจากตาราง tbEventInstance อัตโนมัติเริ่มทำงานเมื่อไคลเอนต์พยายามที่จะส่งรายงาน มีการเริ่มต้นกระบวนการลบอัตโนมัติก็ต่อเมื่อเหตุการณ์รายงานในตาราง tbEventInstance เกิน 1 ล้านแถว
กระบวนการลบอัตโนมัติทำงานช้ามาก และบล็อกคอมพิวเตอร์ไคลเอนต์จากการรายงานกลับไปยังเซิร์ฟเวอร์ WSUS โดยค่าเริ่มต้น WSUS ถูกกำหนดค่าการลบเหตุการณ์ที่เก่ากว่าวันที่ 15 บนเวิร์กสเตชัน และที่มีอายุมากกว่า 90 วันบนเซิร์ฟเวอร์ WSUS ลบเหตุการณ์เก่าที่อัตราของเหตุการณ์ 1000 ทุก ๆ 12 ชั่วโมง
สำหรับข้อมูลเกี่ยวกับวิธีการตรวจสอบว่า ตาราง tbEventInstance เกิน 1 ล้านแถว ดูส่วน "ข้อมูลเพิ่มเติม"
การแก้ปัญหา
ข้อมูลโปรแกรมแก้ไขด่วน
มีโปรแกรมแก้ไขด่วนที่รองรับพร้อมให้บริการจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขเฉพาะปัญหาที่อธิบายไว้ในบทความนี้ ใช้ hotfix นี้เฉพาะกับระบบต่าง ๆ ที่พบปัญหานี้
หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ส่งคำขอถึงฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft และวิธีการขอรับโปรแกรมแก้ไขด่วน
หมายเหตุ ถ้ามีปัญหาอื่น ๆ เกิดขึ้น หรือถ้าจำเป็นต้องแก้ไขปัญหาใด ๆ คุณอาจต้องสร้างคำขอรับบริการแยกต่างหาก จะมีค่าใช้จ่ายในการสนับสนุนปกติกับคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่มีสิทธิได้รับโปรแกรมแก้ไขด่วนเฉพาะนี้ สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าของ Microsoft และการสนับสนุน หรือ เพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ แบบฟอร์ม "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" แสดงภาษาที่โปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น
ข้อกำหนดเบื้องต้น
ไม่มีข้อกำหนดเบื้องต้นจำเป็น
ข้อกำหนดการรีสตาร์ท
คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์หลังจากใช้โปรแกรมแก้ไขด่วนนี้
ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนโปรแกรมแก้ไขด่วนอื่น ๆ
ข้อมูลแฟ้ม
เวอร์ชันภาษาอังกฤษของโปรแกรมแก้ไขด่วนนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่านี้) ซึ่งแสดงรายการไว้ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้แท็บ โซนเวลา ในรายการ วันที่และเวลา ในแผงควบคุม
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
Eventinstancesfix.dll |
ไม่มีข้อมูล |
41,272 |
07-Nov-2005 |
11:36 |
x86 |
Eventinstancesfix.sql |
ไม่มีข้อมูล |
14,442 |
01-Nov-2005 |
10:42 |
ไม่มีข้อมูล |
Runeventinstancesfix.vbs |
ไม่มีข้อมูล |
1,433 |
08-Nov-2005 |
12:16 |
ไม่มีข้อมูล |
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ เปลี่ยนรอบการตรวจหารายการเป็นค่าที่อยู่ในช่วงที่อนุญาต โดยการใช้ Group Policy คุณสามารถจัดการเวลาระหว่างแต่ละรอบการตรวจหารายการจาก 1 ชั่วโมงเป็นชั่วโมง 22 ตัวอย่างเช่น ถ้าคุณเปลี่ยนความถี่ในการตรวจหาวงจรจากค่าเริ่มต้นชั่วโมง 22 ถึง 11 ชั่วโมง หมายเลขของไคลเอ็นต์ที่เซิร์ฟเวอร์ WSUS สามารถสนับสนุนจะลดลงเป็น 7,500 ไคลเอนต์
หากคอมพิวเตอร์ไคลเอนต์ไม่รายงานกลับไปยังเซิร์ฟเวอร์ WSUS หลังจากที่คุณเปลี่ยนแปลงความถี่ของรอบการตรวจหารายการ คุณต้องลบเหตุการณ์ปัจจุบันทั้งหมดจากตาราง tbEventInstance เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้ในตัววิเคราะห์คำถาม SQL:
ตัดทอนตาราง dbo.tbEventInstanceนอกจากนี้ คุณสามารถหยุดกระบวนการลบอัตโนมัติ และเพิ่มความถี่ของกระบวนการลบ หลังจากที่คุณเพิ่ม ความถี่ของกระบวนการลบ WSUS ลบแถวในอีก แต่ยังคงรักษาขนาดของตาราง tbEventInstance
เมื่อต้อง การหยุดกระบวนการลบอัตโนมัติ และความถี่ของกระบวนการลบการตั้งค่าเป็น 1 ชั่วโมง เรียกใช้คำสั่งต่อไปนี้ในตัววิเคราะห์คำถาม SQL:
อัพเด AutoPurgeDetectionPeriod การตั้งค่า dbo.tbConfigurationB = 1คำสั่งนี้รันกระบวนการลบทุกชั่วโมง หลังจากที่คุณเรียกใช้คำสั่งนี้ WSUS ลบเหตุการณ์ 24,000 ต่อวันที่อัตราของเหตุการณ์ 1000 ต่อชั่วโมง นี่คือความถี่สูงสุดที่สามารถกำหนดให้กับกระบวนการลบ
ในการคำนวณความถี่ในการลบอัตโนมัติที่ถูกต้องและความถี่ของรอบการตรวจหารายการที่ถูกต้อง คุณต้องทราบจำนวนของไคลเอนต์ WSUS
ใช้สูตรต่อไปนี้ในการคำนวณความถี่ต่ำสุดสำหรับการลบกระบวนการและความถี่ของรอบการตรวจหา:
ความถี่ในการประมวลผลการลบต่ำสุด: (24/DF) x ส
ความถี่ของรอบการตรวจหา: (ส/PF) x 24หมายเหตุ DF คือ ความถี่ของรอบการตรวจหารายการ แล้วปิดคือ หมายเลขของไคลเอนต์ WSUS และ PF คือ ความถี่ในการล้างข้อมูลต่ำสุด
ตัวอย่างเช่น ถ้ามีไคลเอนต์ WSUS 4000 และ ถ้าคุณตั้งค่าความถี่ของรอบการตรวจหารายการ 8 รอบต่อวัน ประมาณ 32000 สามารถบันทึกเหตุการณ์ไปยังตาราง tbEventInstance จำนวนสูงสุดของเหตุการณ์ที่คุณสามารถเอาออกได้ โดยการลบขั้นตอนสำหรับแต่ละวัน เป็นเหตุการณ์ 24,000 เมื่อคุณตั้งค่าความถี่ในการลบเป็น 1 ชั่วโมง ดังนั้น คุณสามารถลดความถี่ของรอบการตรวจสอบเพื่อให้จำนวนของเหตุการณ์ที่สร้างขึ้น โดยไคลเอนต์จะน้อยกว่า 24,000
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
วิธีการตรวจสอบว่า ตาราง tbEventInstance เกิน 1 ล้านแถว
-
เริ่มตัววิเคราะห์คำถาม SQL และจากนั้น เชื่อมต่อกับเซิร์ฟเวอร์ภายใน
-
ในรายการฐานข้อมูลคลิกSUSDB
-
วางแบบสอบถาม SQL ต่อไปนี้ในหน้าต่างแบบสอบถาม:
select count(*) from tbEventInstance
-
คลิกดำเนินการแบบสอบถามเพื่อเรียกใช้แบบสอบถาม
ถ้าคุณกำลังเรียกใช้ Microsoft SQL Server Desktop Engine (Windows) (WMSDE), คุณสามารถใช้คำสั่งosqlเพื่อตรวจสอบว่า ตารางtbEventInstanceเกิน 1 ล้านแถว เมื่อต้องการทำเช่นนี้ ให้พิมพ์คำสั่งต่อไปนี้ที่พร้อมท์คำสั่ง และจากนั้น กด ENTER:
"%programfiles%\Update Services\tools\osql\osql.exe" -S %COMPUTERNAME%\WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft