KB2640027 - การแก้ไข: งานเอเจนต์ SQL Server ล้มเหลวถ้าคุณตั้งค่าชนิดกําหนดการงานเป็น "เริ่มต้นโดยอัตโนมัติเมื่อเอเจนต์ SQL Server เริ่ม" ใน SQL Server 2008 SP2, SQL Server 2008 SP3, SQL Server 2008 R2 SP1 หรือ SQL Server 2008 R2 SP2

นำไปใช้กับ
SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Service Pack 2 SQL Server 2008 Service Pack 3 SQL Server 2008 Standard SQL Server 2008 R2 Service Pack 2

Microsoft แจกจ่ายการแก้ไข Microsoft SQL Server 2008 SP2 เป็นไฟล์เดียวที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม การเผยแพร่ใหม่แต่ละรายการจะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2008 SP2 ก่อนหน้า

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณสามารถเลือกทําอย่างใดอย่างหนึ่งต่อไปนี้

    • ติดตั้ง Cumulative Update 2 สําหรับ Microsoft SQL Server 2008 Service Pack 2 (SP2) หรือแพคเกจโปรแกรมปรับปรุงสะสมรุ่นที่ใหม่กว่า
    • อัปเกรด SQL Server 2008 เป็น SQL Server 2008 Service Pack 3 (SP3)
    • อัปเกรด SQL Server 2008 R2 เป็น SQL Server 2008 R2 Service Pack 1 (SP1) หรือ Service Pack รุ่นที่ใหม่กว่า
  • คุณสร้างงาน SQL Server Agent บนฐานข้อมูลผู้ใช้ และคุณตั้งค่าชนิดกําหนดการเป็น Start โดยอัตโนมัติเมื่อ SQL Server Agent เริ่มทํางาน

  • คุณเริ่มบริการ SQL Server ใหม่

ในสถานการณ์นี้ งานเอเจนต์ SQL Server ล้มเหลว

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากฐานข้อมูลผู้ใช้กู้คืนไม่เสร็จเมื่องานเริ่มต้น หลังจากที่คุณติดตั้งการอัปเดตสะสม 2 สําหรับ SQL Server 2008 SP2 หรือคุณอัปเกรด SQL Server 2008 เป็น SQL Server 2008 SP3 หรือคุณอัปเกรด SQL Server 2008 R2 เป็น SQL Server 2008 R2 SP1 เอเจนต์ SQL Server จะเริ่มต้นหลังจากฐานข้อมูล MSDB กู้คืนเสร็จสิ้น

หมายเหตุ: เอเจนต์ SQL Server ควรเริ่มต้นหลังจากกู้คืนฐานข้อมูลทั้งหมดแล้ว

การแก้ปัญหา

SQL Server 2008 R2 Service Pack 1

การแก้ไขสําหรับปัญหานี้เผยแพร่ครั้งแรกในการอัปเดตสะสม 9 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 Service Pack 1 นี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2756574 แพคเกจการปรับปรุงสะสม 9 สําหรับ SQL Server 2008 R2 Service Pack 1 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่ๆ ที่เผยแพร่ใหม่แต่ละรายการจะมีโปรแกรมแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2008 R2 Service Pack 1 ก่อนหน้านี้ เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2567616 รุ่น SQL Server 2008 R2 ที่วางจําหน่ายภายหลัง SQL Server 2008 R2 Service Pack 1

SQL Server 2008 Service Pack 3

การแก้ไขปัญหานี้เปิดตัวครั้งแรกในการอัปเดตสะสม 7 สําหรับ SQL Server 2008 Service Pack 3 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2738350 แพคเกจโปรแกรมปรับปรุงสะสม 7 สําหรับ SQL Server 2008 Service Pack 3 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่แต่ละรุ่นจะมีโปรแกรมแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข SQL Server 2008 Service Pack 3 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2629969 รุ่น SQL Server 2008 ที่วางจําหน่ายภายหลัง SQL Server 2008 Service Pack 3

การปรับปรุงสะสม 8 สําหรับ SQL Server 2008 Service Pack 2

การแก้ไขสําหรับปัญหานี้ถูกเผยแพร่ครั้งแรกในการอัปเดตสะสม 8 สําหรับ SQL Server 2008 Service Pack 2 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจการปรับปรุงสะสมสําหรับ SQL Server 2008 Service Pack 2 นี้ ให้คลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2648096 แพคเกจการปรับปรุงสะสม 8 สําหรับ SQL Server 2008 Service Pack 2 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่แต่ละรุ่นจะมีโปรแกรมแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข SQL Server 2008 Service Pack 2 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2402659 รุ่น SQL Server 2008 ที่วางจําหน่ายภายหลัง SQL Server 2008 Service Pack 2

SQL Server 2008 R2 Service Pack 2

การแก้ไขปัญหานี้เปิดตัวครั้งแรกในการอัปเดตสะสม 2 สําหรับ SQL Server 2008 R2 Service Pack 2 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2740411 แพคเกจการปรับปรุงสะสม 2 สําหรับ SQL Server 2008 R2 Service Pack 2 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การเผยแพร่การแก้ไขใหม่แต่ละรายการจะมีโปรแกรมแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข SQL Server 2008 R2 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2730301 รุ่น SQL Server 2008 R2 ที่วางจําหน่ายภายหลัง SQL Server 2008 R2 Service Pack 2

ข้อมูลรีจิสทรีคีย์

สิ่งสําคัญ ส่วน เมธอด หรืองานนี้มีขั้นตอนที่บอกให้คุณทราบวิธีการปรับเปลี่ยนรีจิสทรี แต่ปัญหาร้ายแรงอาจเกิดขึ้นถ้าคุณปรับเปลี่ยนรีจิสทรีอย่างไม่ถูกต้อง ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง สำหรับการป้องกันที่เพิ่มขึ้น สำรองข้อมูลรีจิสทรีก่อนที่คุณจะปรับเปลี่ยน จากนั้นคุณสามารถคืนค่ารีจิสทรีถ้ามีปัญหาเกิดขึ้น สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสํารองข้อมูลและคืนค่ารีจิสทรี ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

322756 วิธีการสํารองข้อมูลและคืนค่ารีจิสทรีใน Windows หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องเริ่มระบบบริการ SQL Server Agent ใหม่สําหรับอินสแตนซ์ที่ได้รับผลกระทบเสียก่อน รีจิสทรีคีย์ RecoveredDatabasesForAgentStartup ใหม่จะถูกสร้างขึ้นเมื่อบริการเริ่มระบบใหม่ รีจิสทรีคีย์นี้กําหนดว่าเอเจนต์ SQL Server รอให้การกู้คืนฐานข้อมูลผู้ใช้เสร็จสมบูรณ์ก่อนที่จะเริ่มงานเอเจนต์ SQL Server หรือไม่

เมื่อต้องการให้เรากําหนดค่ารีจิสทรีคีย์นี้ให้คุณ โปรดไปที่ส่วน "แก้ไขปัญหาให้ฉัน" หากคุณต้องการกําหนดค่ารีจิสทรีคีย์นี้ด้วยตนเอง ให้ไปที่ส่วน "ให้ฉันแก้ไขปัญหาด้วยตนเอง"

แก้ไขให้ฉัน

            
เมื่อต้องการกําหนดค่ารีจิสทรีคีย์นี้โดยอัตโนมัติ ให้คลิกปุ่มหรือลิงก์ แก้ไขปัญหา จากนั้นคลิก เรียกใช้ ในกล่องโต้ตอบดาวน์โหลด ไฟล์ และทําตามขั้นตอนในตัวช่วยสร้าง แก้ไข

            
บันทึกย่อ

  • ก่อนเรียกใช้โซลูชัน แก้ไข (Fix it) นี้ คุณต้องติดตั้งโปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft (KB) 2648096 จากนั้น คุณต้องเริ่มระบบของบริการเอเจนต์ SQL Server ใหม่สําหรับอินสแตนซ์ที่ได้รับผลกระทบ
  • ตัวช่วยสร้างนี้อาจจะมีแต่เฉพาะภาษาอังกฤษเท่านั้น อย่างไรก็ตาม การแก้ไขอัตโนมัติจะใช้งานได้กับ Windows เวอร์ชันภาษาอื่นด้วย
  • หากคุณไม่ได้อยู่กับคอมพิวเตอร์ที่มีปัญหา ให้บันทึกโซลูชันการแก้ไขปัญหาไว้ในแฟลชไดรฟ์หรือแผ่นซีดี จากนั้นจึงเรียกใช้งานบนคอมพิวเตอร์ที่มีปัญหา

จากนั้นไปที่ส่วน "วิธีนี้แก้ไขปัญหาได้หรือไม่"

ให้ฉันแก้ไขด้วยตนเอง

เมื่อต้องการกําหนดค่ารีจิสทรีคีย์ RecoveredDatabasesForAgentStartup ให้ทําตามขั้นตอนเหล่านี้:

  1. คลิก เริ่ม คลิก เรียกใช้ พิมพ์ regedit ในกล่อง เปิด แล้วคลิก ตกลง

  2. ค้นหาแล้วคลิกที่คีย์ย่อยรีจิสทรีต่อไปนี้:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.instance\SQLServerAgent\

  3. ในบานหน้าต่างรายละเอียด ให้คลิกขวาที่ RecoveredDatabasesForAgentStartup แล้วคลิก ปรับเปลี่ยน

  4. ในกล่อง ข้อมูล ค่า ให้พิมพ์ ALL

    หมายเหตุ: ค่าเริ่มต้นของรายการรีจิสทรี RecoveredDatabasesForAgentStartup คือ MSDB

  5. ออกจาก Registry Editor

หมายเหตุ ถ้าคุณตั้งค่าของรายการรีจิสทรี RecoveredDatabasesForAgentStartup เป็นค่าที่ไม่ใช่ MSDB หรือ ALL ข้อความเตือนจะถูกบันทึกไว้ในบันทึกเอเจนต์ SQL Server และเอเจนต์ SQL Server จะรอเฉพาะฐานข้อมูล MSDB เท่านั้น

วิธีนี้แก้ไขปัญหาได้หรือไม่

  • ตรวจสอบว่าปัญหาได้รับการแก้ไขหรือไม่ หากแก้ไขปัญหาแล้ว คุณไม่ต้องดําเนินการใดๆ กับส่วนนี้อีก ถ้าปัญหาไม่ได้รับการแก้ไข คุณสามารถติดต่อฝ่ายสนับสนุนได้
  • เรายินดีรับคําติชมของคุณ เมื่อต้องการให้คําติชมหรือรายงานปัญหาใดๆ เกี่ยวกับการแก้ไขนี้ คุณสามารถฝากความคิดเห็นไว้ในบล็อก "แก้ไขปัญหาให้ฉัน" หรือส่งอีเมลถึงเรา

สถานะ

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

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

เมื่อต้องการแก้ไขปัญหานี้ ให้เพิ่มขั้นตอนไปยังงานเอเจนต์ SQL Server ที่ตรวจสอบว่าฐานข้อมูลเป้าหมายออนไลน์อยู่หรือไม่ ขั้นตอนนี้ควรเป็นขั้นตอนแรก

หมายเหตุ คุณสามารถตรวจสอบสถานะฐานข้อมูลได้โดยการสอบถามสถานะคอลัมน์ในตารางระบบ sys.databases