Windows Services ไม่เริ่มทำงานโดยอัตโนมัติหลังจากรีบู๊ตหรือไม่


10

เรามีบริการ Windows บางอย่างที่เขียนใน. NET พวกเขาเริ่มต้นได้ด้วยตนเองภายใน mmc บริการ แต่แม้จะถูกตั้งค่าเป็นอัตโนมัติพวกเขาไม่เคยเริ่มต้นเมื่อเปิดเครื่อง (หรือรีบูต) เครื่อง

อัปเดตในบันทึกเหตุการณ์แทนที่จะเห็น "xyz เริ่มต้น" ข้างบริการอื่น ๆ ทั้งหมดที่เริ่มต้นฉันเพิ่งเห็น "บริการ xyz เข้าสู่สถานะหยุดทำงาน" และข้อผิดพลาดแยกที่ระบุว่า "หมดเวลา (30000 มิลลิวินาที) ในขณะที่รอการตอบสนองธุรกรรมจากบริการ slsvc"

หากฉันเริ่มต้นด้วยตนเองฉันจะได้รับรายการปกติในบันทึกเหตุการณ์ตามที่คาดไว้และทุกอย่างก็ดี - จนกว่าแพทช์ Windows Update ถัดไปซึ่งบังคับให้รีบูตและบริการทั้งหมดจะถูกปิดอีกครั้ง

ความคิดใด ๆ ฉันได้ลองตั้งค่าให้ล่าช้าเริ่มโดยไม่มีความแตกต่างที่ชัดเจน


ฉันเคยมีปัญหาที่คล้ายกันมากกับงานที่กำหนดไว้บางอย่างซึ่งในที่สุดฉันก็ค้นพบว่าฉันสามารถสร้างขึ้นมาใหม่ได้โดยการเปลี่ยนชื่อผู้ใช้งานที่ทำงานหลังจากที่มันถูกสร้างขึ้น ฉันพบว่าฉันสามารถแก้ไขปัญหาได้อย่างง่ายดายเพียงแค่ลบและสร้างงานใหม่อีกครั้ง มันคุ้มค่ากับแนวทางที่คล้ายกันนี้ - ลองลบบริการและสร้างใหม่ สิ่งนี้อาจช่วยได้หากคุณไม่แน่ใจว่าจะทำเช่นนั้นได้อย่างไร FYI ปัญหางานที่กำหนดเวลาไว้จะไม่เกิดขึ้นอีกต่อไปฉันคิดว่าการอัปเดตบางอย่างจะแก้ไขได้
DaveRandom

ฉันสงสัยว่าพวกเขาล้มเหลวในการเริ่มต้นเพราะพวกเขาขึ้นอยู่กับบริการอื่น (ซึ่งยังไม่ได้เริ่ม) คุณสามารถเห็นการเริ่มบริการล้มเหลวในบันทึกของระบบหรือไม่
newmanth

@DaveRandom การติดตั้งใหม่เกิดขึ้นจริงทุกครั้งที่เราปรับใช้เวอร์ชันใหม่ดังนั้นจึงไม่ปรากฏว่าการลบ / เพิ่มแก้ปัญหาโชคไม่ดี
James Crowley

@ คำถามใหม่ที่อัปเดตพร้อมรายละเอียดใหม่ - ปรากฎว่ามีรายการบันทึกเหตุการณ์ที่ฉันพลาด
James Crowley

ฉันสังเกตเห็นในความคิดเห็นของคุณต่อคำตอบของ Rob ว่า. NET เป็นเพียงการอ้างอิงเท่านั้น คุณรู้หรือไม่ว่านักพัฒนาใช้ API ของบุคคลที่สามใด ๆ ในการพัฒนาบริการหรือไม่ ถ้าเป็นเช่นนั้นอาจมีกลไกการออกใบอนุญาตบางอย่างที่กำลังถูกบล็อกอยู่?
newmanth

คำตอบ:


3

มีการแก้ไขสำหรับสิ่งนั้น ดู: http://support.microsoft.com/kb/922918

สิ่งคือบริการอาจต้อง ldap หรือการเข้าถึงระยะไกลอื่นและกำลังประสบความล่าช้าเนื่องจากสิ่งนี้ โดยเฉพาะอย่างยิ่งสามารถเกิดขึ้นได้เมื่อเซิร์ฟเวอร์เริ่มต้น คุณสามารถมั่นใจได้ว่าบริการจะเริ่มต้นขึ้น

แน่นอนดีกว่าคือการแก้ไขปัญหาว่าทำไมบริการนี้ใช้เวลานานในการเริ่มต้น สภาพแวดล้อมของคุณไม่มีการปรับขนาดหรือไม่? คุณมีปัญหาด้านประสิทธิภาพการทำงานของบริการที่กำลังถูกโพลโดยบริการที่ล่าช้าหรือไม่?


การแก้ไขปัญหาบริการเริ่มต้นเป็นพิเศษได้อย่างไร มีวิธีการเปิดใช้งานการบันทึกอย่างละเอียดหรือไม่?
Kenny Evitt

1

คุณหมายถึงอะไรเมื่อคุณพูดว่า "เรามีบริการ Windows บางอย่าง" ที่แนะนำให้ฉันว่าพวกเขากำลังสร้างภายในโดยใครบางคนภายในองค์กรของคุณ? ถ้าเป็นเช่นนั้นคุณจะอยู่ในตำแหน่งที่ดีกว่าในการดีบักพวกเขามากกว่าคนอื่น ๆ ที่นี่ - บริการเหล่านี้มีการพึ่งพาอะไรบ้างในองค์ประกอบของ windows และโปรแกรมเมอร์ของคุณพิจารณาการทดสอบความพร้อมใช้งานของบริการเหล่านี้และรอให้พวกเขาออนไลน์ ?

คุณได้พิจารณาให้ตั้งค่าบริการเหล่านี้เป็นการพึ่งพาบริการให้สิทธิ์ใช้งานซอฟต์แวร์หรือไม่(นั่นคือslsvc )

จากhttp://support.microsoft.com/kb/193888

หากต้องการสร้างการพึ่งพาใหม่ให้เลือกคีย์ย่อยที่แสดงบริการที่คุณต้องการหน่วงเวลาคลิกแก้ไขแล้วคลิกเพิ่มมูลค่า สร้างชื่อค่าใหม่ "DependOnService" (โดยไม่ใส่เครื่องหมายอัญประกาศ) ด้วยชนิดข้อมูลของ REG_MULTI_SZ แล้วคลิกตกลง เมื่อกล่องโต้ตอบข้อมูลปรากฏขึ้นให้พิมพ์ชื่อหรือชื่อของบริการที่คุณต้องการเริ่มก่อนบริการนี้ด้วยหนึ่งรายการสำหรับแต่ละบรรทัดแล้วคลิกตกลง

ชื่อของบริการที่คุณจะป้อนในกล่องโต้ตอบข้อมูลเป็นชื่อที่แน่นอนของบริการตามที่ปรากฏในรีจิสทรีภายใต้คีย์บริการ

เมื่อคอมพิวเตอร์เริ่มทำงานจะใช้รายการนี้เพื่อตรวจสอบว่าบริการหรือบริการที่แสดงในค่านี้เริ่มต้นขึ้นก่อนที่จะเริ่มบริการที่ต้องพึ่งพา


ขอบคุณ Rob - พวกมันเป็นแบบภายใน - แต่สิ่งที่ต้องพึ่งพาอย่างเดียวคือ. NET Framework ซึ่งฉันไม่เชื่อว่าจะทำงานเป็นบริการ มันไม่ต้องการอะไรอีกแล้วเมื่อเริ่มต้น ...
James Crowley

0

ลองกับสิ่งนี้:

รันคำสั่งต่อไปนี้เพื่อกำหนดเหตุการณ์ทริกเกอร์ที่เหมาะสมกับสภาพแวดล้อมของคุณ ในตัวอย่างนี้คำสั่งจะพิจารณาว่ามีการกำหนดที่อยู่ IP ให้กับโฮสต์หรือไม่จากนั้นจะเริ่มหรือหยุดบริการ

sc triggerinfo w32time start / networkon stop / networkoff

โดยที่ w32Time เป็นชื่อบริการของคุณ

หรือลองสิ่งนี้

https://support.microsoft.com/en-us/kb/922918

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.