บัญชีการอนุญาตต้องใช้สิทธิ์ใดในการใช้จดหมายฐานข้อมูล


9

ฉันมีอินสแตนซ์ SQL Server 2012 ทำงานภายใต้บัญชีบริการที่ได้รับการจัดการ ฉันได้กำหนดค่าเมลฐานข้อมูลด้วยบัญชีเดียวและพยายามส่งทดสอบอีเมล แต่ฉันพบข้อผิดพลาดบางอย่างในบันทึกเหตุการณ์ของเซิร์ฟเวอร์:

Database Engine Instance = MYINSTANCE; Mail PID = 2132 ข้อความแสดงข้อผิดพลาด: การอัพเดทฐานข้อมูลล้มเหลว สาเหตุ: สิทธิ์ EXECUTE ถูกปฏิเสธในวัตถุ 'sysmail_logmailevent_sp', ฐานข้อมูล 'msdb', schema 'dbo'

อินสแตนซ์ Engine ของฐานข้อมูล = MYINSTANCE; Mail PID = 2212; ประเภทข้อยกเว้น: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException ข้อความ: การอ่านบนฐานข้อมูลล้มเหลว สาเหตุ: สิทธิ์ EXECUTE ถูกปฏิเสธในวัตถุ 'sp_readrequest', ฐานข้อมูล 'msdb', schema 'dbo' ข้อมูล: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: NULL แหล่งที่มา: ฐานข้อมูล MailEngine

ถ้าฉันทำให้บัญชีที่ใช้ SQL Server ประมวลผลดูแลระบบข้อผิดพลาดนี้หายไปและอีเมลส่งสำเร็จ อย่างไรก็ตามการวิจัยทั้งหมดที่ฉันทำแนะนำให้บัญชีนี้มีDatabaseMailUserRoleบทบาทในmsdbฐานข้อมูลควรเพียงพอ ฉันได้ทำไปแล้วและยังคงได้รับข้อผิดพลาดเดียวกัน

ฉันดูใน BOL แต่หาอะไรไม่เจอ


เซิร์ฟเวอร์ sql และตัวแทน sql ทำงานภายใต้บัญชีเดียวกันหรือไม่
Kin Shah

@ ไม่ใช่, แยกบัญชี (ทั้งบัญชีบริการที่จัดการ)
Mansfield

คุณสามารถลองใช้ SQL Agent ด้วยบัญชีบริการเดียวกับเซิร์ฟเวอร์ sql ได้หรือไม่เพื่อออกกฎและตรวจสอบว่าใช้งานได้หรือไม่
Kin Shah

@ คินนั้นมีสิทธิ์ดูแลระบบดังนั้นมันจะทำงาน ฉันได้รับอนุญาตดูแลระบบบัญชีหลักของฉันในตอนนี้และทุกอย่างทำงานได้ - ฉันแค่อยากรู้ว่ามันมากเกินไป
Mansfield

คำตอบ:


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