案例环境:

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

  1. 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

  1. --- End of inner exception stack trace ---

  1. at System.ServiceProcess.ServiceController.Start(String[] args)

  1. at System.ServiceProcess.ServiceController.Start()

  1. 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"/>"

英文原文如下:

  1. 2nd workaround:

  1.  

  1. If the first action plan didn't work, try disabled the certificate checking in the ReportingServicesService.exe.config file:

  1.  

  1. Edit the ReportingServicesService.exe.config file usually located in this folder: C:\Program Files\Microsoft SQL Server\<RS Instance>\Reporting Services\ReportServer\bin

  1.  

  1. Add the "<generatePublisherEvidence enabled="false"/>" within the <Runtime> tag

  1.  

  1. Patch the server with the KB.

  1.  

  1. If you want to distribute this workaround to many users you can créate a script in PowerShell

  1.  

第三种解决方案:

在控制面板里面找到”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

Reporting Service 服务启动时报错The service did not respond to the start or control request in a timely fashion的更多相关文章

  1. IIS Default Web Site : The service did not response to the start or control request in a timely fashion

    IIS Default Web Site无法启动,提示错误:The service did not response to the start or control request in a time ...

  2. 【spring cloud】spring cloud分布式服务eureka启动时报错:java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V

    spring cloud分布式服务eureka启动时报错:java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApp ...

  3. MySQL 从 5.5 升级到 5.6,启动时报错 [ERROR] Plugin 'InnoDB' init function returned error

    MySQL 从 5.5 升级到 5.6,启动时报错: [ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'Inn ...

  4. solr启动时报错org.apache.solr.common.SolrException: undefined field text的解决办法

    solr启动时报错org.apache.solr.common.SolrException: undefined field text的解决办法 原创 2015年08月21日 20:47:40 标签: ...

  5. Android 开发环境 —— Eclipse 启动时报错:Error when loading the SDK

    简述: Eclipse 启动时报错:Error when loading the SDK 错误信息: Error when loading the SDK: Error: Error parsing  ...

  6. 新安装的soapui启动时报错及解决方法

    今天新安装了soapui准备测试一下接口,结果安装成功后启动时报错:The JVM could not be started. The maximum heap size (-Xmx) might b ...

  7. mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid)

    mysql启动报错Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.p ...

  8. docker启动时报错

    docker安装成功后,启动时报错. 1.后来排查后发现yum install docker安装的是从test存储库中安装的. 后来我指定了特定的版本后,而且从stable存储库安装的,以后再启动就好 ...

  9. nginx启动时报错

    nginx启动时报错 原因:nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed /var/cache/ngin ...

随机推荐

  1. [c++] Exceptions

    注意优先级关系,如下: try { throw logic_error{"blah"}; } catch (exception) { // caught here! // 有点if ...

  2. typeof的一些兼容性问题

    typeof存在一些兼容性的问题,在IE6,7,8中的DOM和BOM元素及其对象上的方法的判定会出现误差,在safari上对NodeList实例 的判定,对ExpReg实例的判断(早期的chrome, ...

  3. HTML5 视频(二) <video> 使用 DOM 进行控制

    HTML5 <video> 使用 DOM 进行控制 一.HTML5 <video> 元素同样拥有方法.属性和事件. 其中的方法用于播放.暂停以及加载等.其中的属性(比如时长.音 ...

  4. 移动端IM系统的协议选型:UDP还是TCP?

    1.前言 对于有过网络编程经验的开发者来说,使用何种数据传输层协议来实现数据的通信,是个非常基础的问题,它涉及到你的第一行代码该如何编写. 从PC时代的IM开始,IM开发者就在为数据传输协议的选型争论 ...

  5. OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)

    在OpenCV2:图像的几何变换,平移.镜像.缩放.旋转(1)主要介绍了图像变换中的向前映射.向后映射.处理变换过程中浮点坐标像素值的插值算法,并且基于OpenCV2实现了两个简单的几何变换:平移和镜 ...

  6. MySQL一个语句查出各种整形占用字节数及最大最小值

    直接上码: as min_num union , union , union , union , union ,) union ,) union ,) union ,) union ,); +---- ...

  7. 模拟实现SQL Server字段列显示的数据类型

    本文目录列表: 1.SQL Server表设计视图中的数据类型列展示效果 2.模拟实现类似的数据类型显示效果 3.测试效果 4.总结语 5.参考清单列表   1.SQL Server表设计视图中的数据 ...

  8. Rafy 领域实体框架示例(1) - 转换传统三层应用程序

    Rafy 领域实体框架发布后,虽然有帮助文档,许多朋友还是反映学习起来比较复杂,希望能开发一个示例程序,展示如何使用 Rafy 领域实体框架所以,本文通过使用 Rafy 领域实体框架来改造一个传统的三 ...

  9. .Net(c#)汉字和Unicode编码互相转换

    {"Tilte": "\u535a\u5ba2\u56ed", "Href": "http://www.cnblogs.com&q ...

  10. DELPHI实现关闭指定进程,自身防杀

    偶然翻到很久以前用DELPHI写的一个小程序,实现功能是在后台默默关闭符合条件的进程,并隐藏自身.编写目的是为了防止办公电脑运行游戏. 实现原理是: 1.程序运行后将自身以不同的名称一式三份存到系统各 ...