การแก้ไขปัญหารายงานที่กำหนดเวลาใน 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 ขอให้รายงานของคุณสนุก!