如何在扩展数据集中更改文件上重新启动MSRS

时间:2010-07-27 08:16:46

标签: reporting-services ssrs-2008 custom-component

我正在使用Microsoft Reporting Services(SSRS)2008和扩展数据引导器/数据集提供程序(即使用我自己编写并将其集成到SSRS中的Datareader)。每当我有更新(即将新的二进制文件复制到SSRS中的bin文件夹)时,我手动必须重新启动该服务。

我在IIS中看到SSRS中使用的机制与IIS类似,但IIS有一个filewatcher并在文件发生变化时自动重启(或者至少自动加载新的dll / configs)。

我的问题是,是否存在对SQL Server Reporting Services 2008执行相同操作的机制(理想情况下已集成在SSRS中)?

如果没有,处理此问题的其他选择是什么?

2 个答案:

答案 0 :(得分:1)

看到没有人正在回答我会被刺伤。您是否可以使用.NET中的FileSystemWatcher开发一个监视目录以进行文件更新的小型Windows服务,然后以编程方式重新启动SSRS服务?您可以使用WMI(check here)调用重新启动。如果没有,那么您可以运行net stopnet start命令,例如

net stop ReportServer$SQL2008
net start ReportServer$SQL2008

您可能需要更改服务名称以匹配。

答案 1 :(得分:1)

如果您复制正在使用的二进制文件,则无论如何都需要在复制之前停止服务。这意味着更多的部署脚本/应用程序而不是文件观察程序。

您还可以使用ServiceController根据名称停止和启动服务。因此,停止服务,推送新的二进制文件然后重新启动服务并不困难。

Here是服务停止和停止的示例。