การแก้ไขปัญหารายงานที่กำหนดเวลาใน SSRS ไม่ทำงาน

หากคุณกำลังใช้ SQL Server Reporting Services (SSRS) และเผชิญกับปัญหารายงานที่กำหนดเวลาที่ไม่ทำงาน คุณไม่ได้อยู่คนเดียว ผู้ใช้หลายคนประสบปัญหาที่น่าหงุดหงิดนี้ ซึ่งรายงานที่กำหนดเวลาของพวกเขาล้มเหลวในการทำงานหรือไม่ส่งกลับข้อความแสดงข้อผิดพลาดในระหว่างการทำงานตามกำหนด หนึ่งในข้อผิดพลาดทั่วไปเกี่ยวข้องกับปัญหาการเข้าสู่ระบบ โดยเฉพาะอย่างยิ่งกับข้อความว่า:

‘EXECUTE AS LOGIN’ ล้มเหลวสำหรับการเข้าสู่ระบบที่ร้องขอ ‘NT AUTHORITY\NETWORK SERVICE’ ขั้นตอนล้มเหลว.

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

การเข้าใจปัญหา

เมื่อรายงานที่กำหนดเวลาไม่ทำงาน มักจะบ่งชี้ถึงปัญหาเกี่ยวกับบริบทการทำงานของงานหรือการกำหนดค่าความปลอดภัยสำหรับบัญชีที่ใช้ในการดำเนินงานของเซิร์ฟเวอร์รายงาน ในกรณีนี้ ข้อความแสดงข้อผิดพลาดแสดงให้เห็นว่าการเข้าสู่ระบบสำหรับ ‘NT AUTHORITY\NETWORK SERVICE’ ไม่ทำงานตามที่คาดหวัง นี่คือจุดสำคัญที่ควรพิจารณาเมื่อวินิจฉัยปัญหา:

  • การรับรองความถูกต้องด้วย SQL: ผู้ใช้กำลังใช้การรับรองความถูกต้องด้วย SQL สำหรับรายงาน ดังนั้นคุณอาจคิดว่านี่ไม่ใช่ปัญหาเกี่ยวกับสิทธิ์ อย่างไรก็ตาม บัญชีที่ SSRS ทำงานอยู่สามารถส่งผลต่อการทำงานของงานได้อยู่ดี

  • ปัญหาบัญชีบริการ: บัญชี ‘NT AUTHORITY\NETWORK SERVICE’ เป็นบัญชีบริการที่สร้างไว้ ซึ่งอาจถูกตั้งค่าไม่ถูกต้องก่อนหน้านี้หรือสิทธิ์ของมันอาจถูกเปลี่ยนแปลง

ขั้นตอนในการแก้ไขปัญหา

1. ตรวจสอบการกำหนดค่าบัญชีบริการ

เริ่มต้นโดยการตรวจสอบว่าบัญชี ‘NT AUTHORITY\NETWORK SERVICE’ ได้รับการตั้งค่าอย่างถูกต้อง:

  • ไปที่ SQL Server Management Studio (SSMS).
  • ตรวจสอบคุณสมบัติของบริการ SQL Server Agent; ตรวจสอบให้แน่ใจว่ามันทำงานภายใต้บัญชี ‘NT AUTHORITY\NETWORK SERVICE’.

2. ตรวจสอบงานของ SQL Server Agent

คุณต้องตรวจสอบงานที่รับผิดชอบในการดำเนินการรายงานที่กำหนดเวลา:

  • ใน SSMS ขยายโหนด SQL Server Agent จากนั้นค้นหางานที่เกี่ยวข้องกับรายงานของคุณ
  • ทบทวนขั้นตอนงานโดยเฉพาะบริบทด้านความปลอดภัยที่ตั้งค่าให้ดำเนินการอยู่

3. ยืนยันสิทธิ์และสิทธิการเข้าถึง

ตรวจสอบให้แน่ใจว่าบัญชี ‘NT AUTHORITY\NETWORK SERVICE’ มีสิทธิ์ที่จำเป็นในการดำเนินการงาน:

  • ไปที่ Security > Logins ใน SSMS.
  • ยืนยันว่าบัญชี ‘NT AUTHORITY\NETWORK SERVICE’ มีสิทธิ์ในการเข้าสู่ระบบและสามารถเข้าถึงฐานข้อมูลที่เกี่ยวข้องกับรายงาน

4. แก้งานและเปลี่ยนเจ้าของ (ถ้าจำเป็น)

หากการกำหนดค่าทั้งหมดดูเหมือนจะถูกต้อง แต่ปัญหายังคงมีอยู่:

  • พิจารณาเปลี่ยนเจ้าของงานไปยังบัญชีผู้ใช้ที่แตกต่างซึ่งเป็นที่รู้จักกันว่ามีสิทธิ์ที่เหมาะสม
  • คลิกขวาที่งาน ไปที่คุณสมบัติ และในแท็บ ทั่วไป เปลี่ยนเจ้าของเป็นบัญชีที่ไม่ใช่บัญชีบริการที่สร้างไว้

5. ทบทวนและทดสอบ

เมื่อคุณได้ทำการเปลี่ยนแปลงเหล่านี้แล้ว อย่าลืมทดสอบว่ารายงานที่กำหนดเวลาทำงานสำเร็จ:

  • ดำเนินการทำงานตามคำร้องขอผ่าน SSMS เพื่อให้แน่ใจว่ามันทำงานได้โดยไม่มีปัญหา
  • ตรวจสอบข้อความแสดงข้อผิดพลาดในบันทึก ปรับเปลี่ยนการกำหนดค่าของคุณตามต้องการ

สรุป

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

สำหรับความช่วยเหลือเพิ่มเติม คุณสามารถอ่านแหล่งข้อมูลที่เป็นประโยชน์ออนไลน์ เช่น โซลูชันที่พบที่ The MSS Forum ซึ่งมีขั้นตอนการแก้ปัญหาที่คล้ายกัน หากคุณทำตามขั้นตอนเหล่านี้และยังไม่พบวิธีแก้ไข ให้พิจารณาติดต่อฝ่าย IT หรือการจัดการฐานข้อมูลเพื่อยืนยันว่ามีสิทธิ์หรือแนวทางนโยบายที่กว้างกว่าที่อาจขัดขวางอยู่หรือไม่

ตอนนี้คุณมีความพร้อมในการจัดการกับความท้าทายส่วนใหญ่เกี่ยวกับรายงานที่กำหนดเวลาใน SSRS ขอให้รายงานของคุณสนุก!