SSRS新建同报表订阅报5.3.4消息大小超上限 旧订阅正常问题咨询
SSRS 订阅邮件大小超限报错排查思路
- 首先对比新旧订阅的参数配置与导出格式:
同一张报表不同参数(如时间范围、数据维度筛选条件)导出的文件体积可能存在较大差异,先手动以新订阅的参数、指定的导出格式(如PDF/Excel/CSV等)跑出报表,确认实际文件大小是否和旧订阅的11MB一致。同时确认是否开启了「在邮件正文中嵌入报表」选项,该配置会让邮件同时包含正文版报表+附件,整体体积直接翻倍,很容易触发大小限制。 - 核查SSRS服务自身的附件上限配置:
打开SSRS配置文件RSReportServer.config(默认路径为C:\Program Files\Microsoft SQL Server\<对应SQL版本>\Reporting Services\ReportServer),找到MaxAttachmentSize参数,确认其数值是否满足编码后的附件大小要求(文件经过Base64编码传输后体积会膨胀约33%,11MB原文件编码后约为14.7MB)。 - 确认Database Mail对应配置文件的大小限制:
你核查的30MB可能是全局默认配置,需确认SSRS调用的Database Mail Profile是否单独设置了更低的附件上限,可执行SQL语句查询所有Profile的配置:SELECT name, max_file_size, description FROM sysmail_profile - 核查发件人、收件人链路的额外限制:
确认新旧订阅的发件人邮箱是否一致,部分企业邮件系统会给不同发件人配置不同的单邮件大小上限;如果新订阅的收件人列表包含外部域邮箱,也可能是外部收件人所在域的大小限制触发了报错,而非你方SMTP服务器的限制。 - 查看SSRS运行日志定位问题节点:
打开SSRS日志目录(默认路径为C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\LogFiles),找到对应报错时间的日志条目,确认是SSRS本地校验附件大小拦截了请求,还是请求发送到SMTP服务器后被返回拒绝,日志会记录具体的触发规则和计算出的邮件总大小,可快速定位问题来源。
内容的提问来源于stack exchange,提问作者SQL_Kid
相关产品推荐
相关产品推荐

