最初,我在尝试查询我需要创建的报告的内容时收到“无 SELECT 权限”错误。因此,我们将 MSDB 中的 DatabaseMailUserRole
授予了我的帐户 - 我看到了列,但没有我们知道存在的数据。
我缺少什么需要为我的帐户做些什么才能看到数据?
最佳答案
select OBJECT_DEFINITION(OBJECT_id('sysmail_faileditems'))
AS [processing-instruction(x)] FOR XML PATH('')
显示sysmail_faileditems
定义是
SELECT * FROM msdb.dbo.sysmail_allitems WHERE sent_status = 'failed'
查看 sysmail_allitems
。它的定义是
SELECT ...
FROM msdb.dbo.sysmail_mailitems
WHERE (send_request_user = SUSER_SNAME())
OR (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 1)
因此看起来您需要处于系统管理员角色才能查看所有结果或发送用户才能查看过滤后的结果。
关于sql - MSDB.dbo.sysmail_faileditems 中没有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687447/