Reporting Service和SQL Server Integration Services服务不能启动(一)

2014-11-24 09:52:43 · 作者: · 浏览: 2
Reporting Service和SQL Server Integration Services服务不能启动
解决问题,之前提是找对问题。最近,有一台 FCS 机器上的 RS 和 IS 不能启动了。
由于,一开始未找对问题之所在,把小问题搞成大问题。
开始时,只是 RS 和 IS 不能启动,在维护的过程中,一度出现 MOM、SQL 都不能启动了,甚至连地址也分不到了。
最后发现,RS 和 IS 的不能启动是由于不能连到外网,验证证书。
以下,是微软的解释。但是,好像也未给出真正的原因,因为,我们平时安装的 RS 和 IS 服务都是不能上外网的,好像也未出现过,不启动的情况。而且只给出了变通的办法。
============
因为受影响的计算机不能到达 http://crl.microsoft.com 网站,将发生此问题。
发生此问题,因为出现以下行为:
.NET 框架 Microsoft.net 框架启动 SSIS 服务时, 调用了 CryptoAPI 若要验证该证书分配给 SQL Server 程序集文件的函数。
在 CryptoAPI 函数检查一个证书吊销列表 (CRL) http://crl.microsoft.com 网站上可用的。 此操作要求连接到 Internet。
如果 Internet 连接被阻止,传出 HTTP 请求可能会被丢弃。 因此,不会返回一条错误消息。
此外,长时间的延迟会导致超时 CRL 检查。
服务控制管理器 (SCM) 确定 SSIS 服务正在启动的时间太长。
因此,SCM 报告了的错误消息和 SSIS 服务未启动。
要变通解决此问题,请使用下列方法之一。
方法 1: 添加新的 XML 标记
如果您的系统已更新的版本的 Microsoft.net 框架是等于或超过该版本的 Microsoft 知识库文章中讨论了更高版本 936707(http://support.microsoft.com/kb/936707)
添加新的 XML 标记,以禁用可以解决此问题 generatePublisherEvidence. 要这样做,您必须编辑该 * exe.config 文件的 SSIS 服务 (MsDtsSrvr.exe.config) 和 * exe.config 文件的任何 SSIS 运行库。 此功能禁用 CRL 检查,并开始修复在 Microsoft 知识库文章 936707 中所述的 Microsoft.net 框架的包含所有修补程序中。 若要检查该更新是否已安装的系统运行.net Framework 2.0 版,您可以检查以下文件,以确保它是 876 版或更高版本的属性。 (版本号应为 2.0.50727.876 或更高版本。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\MsCorWks.dll
SSIS 2005 的服务配置文件
是 Files\Microsoft SQL Server\90\DTS\Binn\msdtssrvr.exe.config
在 32 位或 64 位 SSIS 2005 运行库配置文件:
是 Files\Microsoft SQL Server\90\DTS\Binn\
DTExec.exe.config (用于从 SQL Server 代理作业运行 SSIS 包和 SSIS 包的命令行工具)
Dtshost.exe.config (用于通过执行包任务的子包)
DtsDebugHost.exe.config (对于 BIDS 在调试器中运行的包)
DTUtil.exe.config
等效 WOW64 SSIS 2005 运行库的配置文件在 64 位计算机上运行 32 位 SSIS 包:
是文件 (x86) \Microsoft SQL Server\90\DTS\Binn\DTExec.exe.config
DTExec.exe.config (用于从 SQL Server 代理作业运行 SSIS 包和 SSIS 包的命令行工具)
Dtshost.exe.config (对于从执行包任务的子 SSIS 包)
DtsDebugHost.exe.config (对于 BIDS 在调试器中运行 SSIS 包)
DTUtil.exe.config
DTSWizard.exe.config (用于导入导出向导在内部使用 SSIS 包)
为 SSIS 2005 如果您有一个自定义的可执行文件加载 SSIS 运行时以 编程方式,您可以编辑自定义应用程序的配置文件。
请注意您的程序文件文件夹的位置可能会有所不同,基于 SQL Server 2005 安装过程中所做的自定义设置。 如果不确定在安装 SSIS,请检查注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\DTS\Setup\ SQLPath 的字符串值。
如果您有了 SSIS 2008 或更高版本,generatePublisherEvidence 标记为已包含的所有 SSIS 可执行文件的配置文件中。 您没有采取进一步的操作的 SQL Server 2008 集成服务运行时,若要避免该证书检查。
在 SQL Server 2005 集成服务以避免 CRL 证书检查,此新选项可以添加应用程序配置文件中:
此标记会之间在 配置文件中的标记。 您可能需要手动添加运行时标签和 generatePublisherEvidence 标记,如果它们已经不存在 *.config 文件中。
下面是 SSIS 2005 DTExec.exe.config 文件的示例:
下面是从 SSIS 2008,DTExec.exe.config 的示例:
方法 2: 配置代理设置
请确保服务帐户来访问 Internet 的正确配置代理设置。
有关如何使用 Proxycfg.exe 工具来修改 WinHTTP 代理设置的详细信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:841641 (http://support.microsoft.com/kb/841641/ )
由于 Wininet 代理设置的安装 MS04-011 后,IIS 会返回一条"403.13 客户端证书吊销"错误消息
Microsoft 知识库文章 841641 还可帮助您配置一个特定的代理设置如果您正在为非交互式帐户运行服务。
方法 3: 配置防火墙
配置防火墙以返回一个失败状态应用程序快速如果防火墙阻止访问 http://crl.microsoft.com 网站。
============
实际上,修改一下 hosts 文件,添加下面一句,也就好了:
127.0.0.1 crl.microsoft.com
到此,RS 和 IS 终于可以启动了。
无法解密 RSReportServer.con