在故障转移群集 Windows Server 2003 中配置 Reporting Services SQL Server 2005

在故障转移群集 Windows Server 2003 中配置 Reporting Services SQL Server 2005

我有以下情况:

两台机器,假设 NODE1 和 NODE2,在故障转移群集(假设为 CLUSTER)中安装了 Windows Server 2003。在此群集上成功安装了 SQL Server 2005,假设虚拟服务器为 DATABASE。然后,在 NODE1 上安装了 SSRS 2005。

问题是,使用此设置的应用程序假定报告服务运行在http://数据库/报告但考虑到唯一可能的安装(据我所知),你只能得到http://NODE1/报告

该应用程序无法修改,正确的方法是什么?

我正在考虑在集群上设置 IIS(并让它作为虚拟数据库服务器运行)并在其上安装报告和报告服务器 web 应用程序,以解决问题,但我不确定这是否真的可行,也不确定这是否是最好的选择。

我想到过的另一个选择是安装反向代理,但我不知道如何让它回答http://数据库/报告至少无需先安装 IIS(并采取其他步骤)。

建议?

答案1

我昨天没有意识到的是,DATABASE 也解析为当前活动节点,而不仅仅是 CLUSTER:

假设 DATABASE 是集群名称,NODE1 和 NODE2 是节点,则 DATABASE 解析为当前活动节点,因此如果 NODE1 是活动节点,则 DATABASE 解析为 NODE1。

因此,要做的是在两个节点上安装报告服务,让它们都指向数据库集群中的同一个 ReportServer 数据库。

假设您已经拥有集群,并且已经在集群模式下安装了 SQL Server(要求)。始终使用相同的版本(每个节点中的报告服务之间使用相同的 SP。)

然后,请按照以下步骤操作:

  1. 连接到活动节点(NODE1)并在其上安装和配置报告服务,在 DATABASE 上创建一个 ReportServer 数据库(通过数据库设置,向 DB 提供适当的凭据),然后在配置中初始化数据库。

  2. 然后连接到被动节点(NODE2)、安装并配置报告服务,将数据库设置为 DATABASE 上的现有数据库(您已经创建的数据库,提供相同的凭据来连接到 DB),但现在不要初始化它(在被动节点上)。

  3. 连接回主动节点并再次运行报告服务配置,现在在初始化中您将看到出现被动节点,然后您可以从那里初始化它。

然后您将拥有两个 Reporting 服务实例,每个节点上一个,并指向同一个数据库。现在,当节点发生故障转移时,另一个实例将正常工作。

到目前为止我发现的唯一痛苦是,如果您不公开日志也不通过 \DATABASE\C$\Program Files\MSSQL...\ReportServer\Logs 访问它们,那么您必须记住哪个是活动节点才能在那里查看日志。

这称为“扩展报告服务”,并且仅支持企业版(以及开发人员和评估版)

参考:

http://technet.microsoft.com/en-us/library/ms156453(SQL.90).aspx

http://technet.microsoft.com/en-us/library/ms159114(SQL.90).aspx

要升级两个报表服务器: http://technet.microsoft.com/en-us/library/ms143735(SQL.90).aspx

相关内容