SSRS是微软的高度集成的报表服务,通过报表服务配置管理器(Reporting Service Configuration Manager,简称RSCM),能够轻松实现报表的配置和管理,本文主要分享凭证和邮件的配置。
一,配置凭证(Credentials)
1,配置报表服务账户(Service Account)
报表服务账户(Service Account)是Reporting Service 运行的账户,如图,推荐通过配置管理器修改该账户,
可以通过查看Windows 的 Service 来查看,强烈建议使用RSCM来修改Reporting Service的Account,这是因为RSCM对相关组件进行修改操作,以完成账户的修改。
2,配置链接到Report Server 数据库的权限
报表服务需要到ReportServer数据库中读取数据,以及验证敏感信息,要连接到报表服务器数据库,Reporting Service需要存储凭证(Credential)。
点击“Change Credentials”修改凭证,使用Windows 验证方式,在凭证中保持链接到ReportServer 数据库使用的Login 和Password。
3,数据源权限
当在浏览器中访问报表时,出现无法登录报表服务器的错误:
An error has occurred during report processing. (rsProcessingAborted) Cannot create a connection to data source 'DataSourceName'. (rsErrorOpeningConnection)
当点击“Test Connection”按钮测试连接时,SSRS抛出'NT Authority\Anonymous Logon' 的错误消息:
这种情况需要修改连接的凭证,SSRS使用凭证保存连接的安全验证信息,用户需要填写Windows 域用户的账号和密码,并勾选 “Use as Winodows credentials when connectiong to the data source”:
二,配置SMTP
在报表服务配置管理器中配置邮件,可以在SSRS中创建订阅(Subscription),按照调度(Schedule)发送邮件。
1,在报表服务配置管理中,配置邮件设置
在“Email Settings”中,配置发送地址(Sender Address)和SMTP Server的地址,注意,在这里没有对访问SMTP Server的进行用户安全性验证,比如输入账号和密码。
2,配置访问SMTP的安全验证
默认情况下,Reporting Service使用匿名验证访问SMTP Server,但是目前大多数SMTP Server都不支持匿名验证,需要修改访问SMTP Server的安全验证类型,这在Reporting Service Configuration Manager中是无法修改的,需要直接修改Reporting Service的配置文档。
SSRS的配置文件名是 rsreportserver.config,在SQL Server 2012版本中,配置文件存放在:
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer
在rsreportserver.config文件中,有2个重要的结点需要配置
2.1,配置安全验证类型
Authentication 指定报表服务器所接受的一个或多个安全验证类型。只会自动添加默认设置,若要添加其他设置,必须使用文本编辑器将相应的元素结构添加到 RSReportServer.config 文件中并设置其值。
在配置文档中,EnableAuthPersistance 设置为 True,将RSWindowsNegotiate 注释掉。
<Authentication>
<AuthenticationTypes>
<!--<RSWindowsNegotiate/>-->
<RSWindowsNTLM/>
</AuthenticationTypes>
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
2.2,配置SMTP安全验证
<SMTPAuthenticate>2</SMTPAuthenticate>
结点SMTPAuthenticate表示通过 TCP/IP协议向 SMTP 服务发送消息时使用的身份验证类型,节点值是一个整数值:
- 0 是匿名访问,默认值,不需要进行身份验证
- 2 是身份验证,Reporting Services 通过 Windows 服务的安全凭证连接到 SMTP 服务器
参考文档: