MSDB.dbo.sysmail_faileditems中没有行

OMG*_*ies 3 sql t-sql sql-server sql-server-2005 database-mail

最初,当我尝试查询我需要创建的报告的内容时,我收到了"无SELECT权限"错误.所以我们DatabaseMailUserRole在MSDB中授予了我的帐户 - 我看到了列,但没有一个我们知道存在的数据.

我缺少什么需要为我的帐户查看数据?

Mar*_*ith 6

select OBJECT_DEFINITION(OBJECT_id('sysmail_faileditems')) 
AS [processing-instruction(x)] FOR XML PATH('')
Run Code Online (Sandbox Code Playgroud)

显示sysmail_faileditems定义是

SELECT * FROM msdb.dbo.sysmail_allitems WHERE sent_status = 'failed'
Run Code Online (Sandbox Code Playgroud)

看着sysmail_allitems.这个的定义是

SELECT ...
FROM msdb.dbo.sysmail_mailitems
WHERE (send_request_user = SUSER_SNAME()) 
      OR (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 1)
Run Code Online (Sandbox Code Playgroud)

所以看起来你需要在sysadmin角色中查看所有结果,或者发送用户需要查看过滤结果.