Reporting Service 服务启动时报错The service did not respond to the start or control request in a timely fas...

案例环境:

  启动一台数据库服务器(Windows Server 2003)的Reporting Service(SQL Server 2008 R2)服务时,出现如下错误信息:

System.InvalidOperationException: Cannot start service ReportServer on computer 'xxx'. ---> System.ComponentModel.Win32Exception: The service did not respond to the start or control request in a timely fashion
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at System.ServiceProcess.ServiceController.Start()
   at ReportServicesConfigUI.Panels.ServerInformationPanel.StartStopServiceTask(Boolean start)

从网上搜索了一些资料后发现:出现这个错误是因为安装了MS12-070 security patch (http://support.microsoft.com/kb/2716429) 导致:因为安装了这个安全补丁后,当.NET应用程序启动时, .NET Framework就会尝试去验证Microsoft程序集是否正确并且没有被修改过。.NET Framework是通过连接到公布在互联网的服务器来验证的。当.NET Framework框架试图连接到互联网上的服务器去验证时超时或时间比较长,这就会使得其他超时设置比较短的.NET 应用程序(如 SSIS 或 SSRS)启动失败,出现下面错误信息。

    "The request failed or the service did not respond in a timely fashion."

英文原文如下所:

When a .NET application startup the .NET Framework it tries to check if the Microsoft assemblies are right and have not been modified, this is done connecting to a server that has a revocation list in internet. When the framework tries to connect to the server to check if it has access to internet with an elevated timeout, this makes that any other .NET application that has less timeout setting fails (as SSIS or SSRS) with the error message you are getting.

The error message you are getting when you try to start SSRS:

"The request failed or the service did not respond in a timely fashion."

Means that the SSRS timeout is lower than the timeout of the connection to the revoke list server. Some recent windows updates have introduced this issue after you installed SP2 of SSRS 2008 R2. We are  aware of this problem and we have already provided several workarounds.

This issue affects to all applications that runs on .NET framework 2.0 and there are several workarounds for this problem

 

 

解决方法:

 

第一种解决方案:

    1: 点击开始(Start)菜单,点击运行(Run),输入regedit命令

    2: 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.

    3: 找到ServicesPipeTimeout选项,单击右键选项“编辑”选项,选择“Decimal"选项,输入60000. 有可能你找不到ServicesPipeTimeout选项,这时你就需要新建该选项。然后如上所述设置其值。

    4:设置完成后,需要重启服务器才能生效。

我按上面方案就讲问题解决了,博客Reporting Services service doesn't start after the installation of MS12-070 security patch中介绍,如果第一种方案没有解决问题,可以通过下面第二种方案、第三种方案解决问题

第二种解决方案:

    如果第一种方案没有解决问题,你可以通过通过设置ReportingServicesService.exe.config配置文件禁用认证检查。ReportingServicesService.exe.config通常位于C:\Program Files\Microsoft SQL Server\<RS Instance>\Reporting Services\ReportServer\bin 。其中我这台服务器的路径为C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin ,在ReportingServicesService.exe.config 添加"<generatePublisherEvidence enabled="false"/>"

英文原文如下:

2nd workaround:
 
If the first action plan didn't work, try disabled the certificate checking in the ReportingServicesService.exe.config file:
 
Edit the ReportingServicesService.exe.config file usually located in this folder: C:\Program Files\Microsoft SQL Server\<RS Instance>\Reporting Services\ReportServer\bin
 
Add the "<generatePublisherEvidence enabled="false"/>" within the <Runtime> tag
 
Patch the server with the KB.
 
If you want to distribute this workaround to many users you can créate a script in PowerShell
 

第三种解决方案:

    在控制面板里面找到”Internet Option“,在高级设置里面找到”Check for publisher's certificate revocation" 选项,去掉勾选即可。如果 SSRS服务是以Network Service账号启动,那么修改“Internet Option”选项并不会使之生效。如果是这样,你可以为SSRS服务账号修改下面一些配置,修改注册表

HKEY_USERS\<SID>\Software\Microsoft\Windows\CurrentVersion\WinTrust\TrustProviders\Software 下State值

从原先的0x00023c00改为0x00023e00

英文原文如下:

3rd workaround:

Another option would be disabling the global checking of the certificated in the machine following the steps below:

o   Start -> Control panel
    o   Internet Options
    o   Advanced
    o   Uncheck "Check for publisher’s certificate revocation"

If the services are running under the Network Service account the change to the revocation in internet options is not working for them. In that case, you can perform the following changes for the SSRS service account:

Modify the following setting in the registry:

HKEY_USERS\<SID>\Software\Microsoft\Windows\CurrentVersion\WinTrust\TrustProviders\Software

Where the default value for State key is 0x00023c00

And you will need to change it to 0x00023e00

(More information in: http://support.microsoft.com/kb/2715304)

In order to get the Windows SID for this user and be able to find out the previous registry key, please follow the below instructions.

  1. Download SPGETSID tool from http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx
  2. Once it is installed and save to a local file, open a cmd window (with administrator privileges ) and navigate through the cmd to the folder where this spgetsid.exe is located.
  3. Then type the following command line:    spgetsid domain\user                       (where the domain\user is your SSRS service account) 
  4. Once get the SID please go to the previous registry key for this user and apply the change.

S-1-5-20 is the SID for Network Service, and for other SIDs: http://support.microsoft.com/kb/243330

  • SID: S-1-5-18

    Name: Local System

    Description: A service account that is used by the operating system.

  • SID: S-1-5-19

    Name: NT Authority

    Description: Local Service

  • SID: S-1-5-20

    Name: NT Authority

    Description: Network Service

参考资料:

http://blogs.msdn.com/b/mariae/archive/2012/11/12/reporting-services-service-doesn-t-start-after-the-installation-of-ms12-070-security-patch.aspx

http://social.technet.microsoft.com/Forums/systemcenter/en-US/bd613e3a-3c77-4a85-ad02-c81de5a21287/i-cannot-start-the-sql-server-reporting-services-sce-service?forum=systemcenter

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/53328668-d9c1-4f82-880b-6c7752ea8616/reportserver-service-suddenly-will-not-start-at-all?forum=sqlreportingservices

转载于:https://www.cnblogs.com/kerrycode/p/3799239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Gateway Timeout"错误表示网关在与上游服务器或应用程序的通信过程中未能及时收到响应。这通常是由于上游服务器处理请求的时间超过了网关的超时限制导致的。 要解决这个问题,你可以尝试以下几个步骤: 1. 检查上游服务器状态:首先确定上游服务器是否正常运行。检查服务器的资源利用率,例如CPU、内存和网络连接等。确保服务器没有过载或受到其他负载影响。 2. 增加网关超时时间:如果上游服务器的响应时间较长,你可以尝试增加网关的超时时间。在Apache配置文件中找到`ProxyTimeout`指令,并将其值适当增加。例如: ``` ProxyTimeout 300 ``` 这将将超时时间设置为300秒。请根据你的需求调整超时时间。 3. 检查网络连接:确保网关服务器和上游服务器之间的网络连接正常。检查防火墙设置、代理配置或其他网络设备,确保没有阻止或干扰网络流量的问题。 4. 优化应用程序或服务:如果上游服务器的处理时间无法在网关超时时间内完成,你可能需要优化应用程序或服务以提高性能。这可能涉及到代码优化、数据库查询优化、缓存机制的使用等。 5. 考虑负载均衡:如果上游服务器无法处理大量的请求,你可以考虑使用负载均衡来分散流量。通过将请求分发到多个上游服务器,可以提高整体性能和可靠性。 6. 监控和日志记录:实施监控和日志记录以帮助你识别并解决网关超时问题。监控服务器性能和网络连接,并查看相关日志文件以获取更多细节。 记住,这些步骤只是一些常见的解决方法,具体的解决方法可能因你的环境和应用程序而异。如果问题仍然存在,请提供更多的错误信息和服务器配置细节,以便更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值