Reporting Services 2005 for the DBA – Connectivity Issues

Reporting Services 2005 for the DBA – Connectivity Issues

报表服务之DBA系列关于连接 

http://sqlblogcasts.com/blogs/stevechowles/archive/2007/07/02/reporting-services-2005-for-the-dba-connectivity-issues.aspx

Author: Steve Chowles

After an Installation of Reporting Services with the configuration complete, there is no guarantee you will be able to connect to Reporting Services straight away. So this article will discuss issues connecting to Report Server and Report Manager and give you some advice on how to resolve these issues. 

在安装和配置完成报表服务之后,我们并不能保证就可以直接连接报表服务了,所以这篇文章将讨论关于报表服务器和报表管理器的连接问题并给出一些相应的解决方案.

 

The first sign of a connectivity issue is when a DBA first runs Report Manager from their browser. There are a whole host of errors which could return however; hopefully you will be able to resolve them with the help of this article.

 

 当一名DBA从他们的浏览器第一次运行报表管理器的时候就可以会有连接问题.返回的是整个站点不可以访问,然而,希望你能够通过这篇文章解决这些问题.

 

Check the Report Server Web Service is working correctly

检查报表服务器的Web Service 是否正常运行

 

The Report Server Web Service is the heart of Reporting Services. There is a log file created for the Web Service however; it is only created if all the pieces required to get there are up and running, so first we need to check IIS.

 报表服务器的Web Service是整个报表服务的核心.并且有相应的日志记录来记录所有启动和运行Web Service的信息,我们首先需要检查的是IIS.

 

I am going to provide a list of areas to check and it is worth ensuring you have read my previous blogs on IIS and IIS Security.

我将提供一个检查列表来检查这些.当然,我希望你已经阅读过我之前的关于IISIIS安全的文章

 

Event Log

Check out the System and Application event logs, many IIS and Application Pool failures are written there. 

事件日志

 检查系统和应用程序事件日志,大部分的IIS和应用程序错误都会写入此日志.

 

IIS Admin Service

Make sure the IIS Admin Service is running. You need this service in order to run web sites and configure IIS. 

III管理服务

确保IIS管理服务处于运行状态.你需要使用这个服务来运行web站点和配置IIS.

 

Report Server Application Pool

报表服务器的应用程序缓存池

 

Using IIS Manager check the Application Pool whish is used by the Report Server is running. You can confirm the Application Pool used by Report Server by looking at the Properties of the ReportServer web site. It will be at the bottom of the Virtual Directory tab.

使用IIS管理器来检查报表服务器所使用的应用程序缓存池.你可以通过查看报表服务器站点的属性来检查报表服务器所使用的应用程序缓存池.它应该在虚拟目录的下方.

Once known click on the Application Pools link and verify the pool is running on the right hand pane.

 单击应用程序缓存池并且在右侧的窗口验证所运行的报表服务器缓存池.

 

Report Server Website

报表服务器站点

Using IIS Manager click on the Web Sites link and verify the Reporting Services web site is running on the right hand pane.

 使用IIS管理器打开web站点的连接并在右侧的区域验证报表服务站点处于运行状态.

 

Connection URL

连接URL

You need to understand what the Connection URL to the Report Server Web Service is. This is really important because an incorrect URL maybe the only issue.

 你必须理解什么是报表服务连接的URL.这将非常重要,因为不正确的URL连接将是的唯一问题.

 

From IIS Manager click on the Web Sites link and look at the right hand pane. There are various columns and the important ones are Host Header Value, IP Address, Port, and SSL Port . Depending on what values you have here will depend on the URL used to connect to the Report Server.

 IIS管理器点击Web站点的连接,并在右侧的窗口中查看.那里面有很多栏位,最重要的一些栏位有主机表头值,IP地址,端口,SSL端口.这些值都是连接报表服务器的URL所需要的.

 

There may be multiple entries with different values and in order to see all of them you need to look at the Properties of the web site and click on the Advanced button next to IP Address.

在这个窗口中可能有多个不同值存在,如果你需要查看这些值的信息,在站点属性中点击IP地址后面那个高级选项.

 

The different columns are used as follows:

不同的栏位值用于不同的目的:

         IP Address: This gives you the range of IP Addresses that are allowed to be used when connecting to Report Server. If set to All Unassigned then it is listening on any IP address.

e.g http://nnn.nnn.nnn.nnn/ReportServer or use the hostname for that IP Address.

 IP地址:这个地址范围是用于允许连接报表服务器的有效地址.如果设置成未配置,那么这个站点可以监听任何IP地址.

: http://nnn.nnn.nnn.nnn/ReportServer或者是使用这个IP地址的主机名称.

 

         Port: This is the Port number that the Web Site is listening on. By default HTTP listens on port 80 however; any value other than 80 needs to be specified in the URL string.

e.g http://server:880/ReportServer is using port number 880 instead of 80

 端口:这个端口是Web站点监听的端口.默认的HTTP端口为80.但是,设置任何一个非80的端口都必须显式地在URL字符串中指定出来.

: http://server:880/ReportServer  是用880端口来代替80端口

 

         SSL Port : This column will only be populated if the web site is using the Secure Socket Layer. By default HTTPS listens on port 443 however; any value other than 443 needs to be specified in the URL string.

e.g https://server:555/ReportServer is using port number 555 instead of 443.

 SSL端口: 这一属性只有在Web站点使用安全嵌套层时才使用到.默认的HTTPS端口为443,但是,设置任何一个非443端口的都必须显式的在URL字符串中指定出来.

: https://server:555/ReportServer 使用555端口来代替443端口.

 

         Host Header Value: Rather than connect to the web site using the server name, you might want to connect using a completely different name.  You see this all the time on the Internet with names such as www.microsoft.com. This DNS name will point to the server where the Report Server is running.

         e.g http://www.mydomain.com/ReportServer 

 主机表头值: 相对于用服务器名称连接web站点而言,你也许需要使用一个完全不同的名称来连接你的web站点.你知道像www.microsoft.com网站一直都能访问,这个DNS名称将指向报表所在的服务器.

: http://www.mydomain.com/ReportServer

 

Reporting Services Databases

Reporting Services stores all its information in a SQL Server database and we need to ensure SQL Server is running with no problems, so check the SQL Server Errorlog and Event log on that server. As long as the installation was successful all the access for the SQL accounts will have been done however; you will see logon failures in the Reporting Services log files.

报表服务的数据库

报表服务将所有的信息存放在一个SQL Server数据库中.我们首先需要保证数据库是正常运行的.为此我们需要检查服务器上SQL Server的错误日志和事件日志.即使是成功安装并且SQL 账户能够正常访问,然而,你也可能在报表服务的日志文件中看到登录失败的信息.

 

Local Connectivity Test to Report Server

We are ready to test we can connect but before we do that I want to quickly review the pieces of the Reporting Services puzzle. When you connect to Report Manager it will send SOAP requests to the Report Server Web Service to retrieve the information to display. So straight away we can see that if Report Server Web Service is not working, nor will Report Manager. The Reporting Services Windows Service does not play any part at this stage.Our first test needs to be done on the web server itself so logon to the web server where Reporting Services is installed and open Internet Explorer.

报表服务器本地连接测试

在我们开始测试之前,我想回顾一下报表服务的一些难点.当你连接报表管理器时,他将发送SOAP请求到报表服务器的Web服务以获取相应的显示信息.所以我们可以通过这种直接的方式查看报表服务器或者报表管理器是否正在运行.在这里,报表服务的windows服务并没有发挥作用.我们首先需要测试的是登录到报表服务安装的服务器上然后打开浏览器.

 

You now need to connect to the Report Server Web Service. The URL you use will depend on the information you discovered in the Connection URL section above so you may have to use HTTPS or add a port number.  Another point to bare in mind is that when you connect to a Web Service it has to read the WSDL file which basically means the first connection takes a little while so hang in there. As long as your keep your browser open the subsequent connections will be quick.

 现在连接到报表服务器的Web服务.你使用的URL依赖于你在上面连接URL小节所看到的信息.因此,你需要使用HTTPS或者是对应的端口.你应该清楚的一点是当你连接一个Web服务时,它将读取它对应的WSDL文件,这个文件的读取意味着第一次连接时需要花一点时间.保持当前浏览器为开启状态将在使以后的访问中更快捷.

Try the following connections

         Try connecting using localhost as the server name

         Try connecting using IP address 127.0.0.1

         Try connecting using the machine name

         Try connecting using the machines IP address

         Try connecting using the Fully Qualified Domain Name of the server

         Try connecting using a Host Header Name

 尝试如下的一些连接:

      尝试使用localhost做为服务器名称连接.

      尝试使用IP地址 127.0.0.1连接.

      尝试使用计算机名称连接

      尝试使用计算机的IP地址连接

      尝试使用服务器的完全合格域名连接

      尝试使用主机表头值连接

 

Connection Fails

If any of the above tests fail you need to review the following. These are not all the same checks as above so please review them.

连接失败

如果上述任何一个测试失败,那么需要检查如下一些信息.这些和上面的检查不一样,所以请重新检查.

 

         If localhost fails and 127.0.0.1 works it means the localhost entry needs to be added to the HOSTS file in C:/WINDOWS/System32/Drivers/etc

 如果 lolcahost连接失败但是 127.0.0.1连接成功,这就意味着 localhost需要添加到C:/WINDOWS/System32/Drivers/etc HOSTS文件中

 

         Check if the C:/WINDOWS/System32/Drivers/etc/HOSTS file does not have incorrect entries

检查C:/WINDOWS/System32/Drivers/etc/HOSTS 这个文件确保没有不正确的信息.

 

         Using NSLOOKUP verify your DNS entries have the right IP Addresses for the server names and Host Header Values.

使用 NSLOOKUP 验证你的DNS 能够正确地解析服务器和主机表头值的正确地址.

 

        Check the server has the correct domain name suffix added if you are not specifying it.

       如果你没有指定域名后缀的话,检查服务器是否使用了正确的域名后缀.

 

         Make sure that the URL you specify only hits one web site. For example one web site could be listening on localhost and port 80 and the other may be listening on any IP address and port 80. A quick way to check this is to Stop the other website and try again.

     确保你指定的URL只能连接到一个web站点,例如,一个web站点监听localhost80端口,那么其它的只能监听到其它IP80端口.一个检验这个的快捷的方式是停止其它的web站点然后重试.

 

         Hopefully if the Application Pool has communicated with the Report Server there may be a Report Server log file to view since this file is only created when a connection is first established. If you installed using the default installation path which is a recommended thing to do because articles like mine make reference to them, your log files will be created in folder C:/Program Files/Microsoft SQL Server/MSSQL.1/Reporting Services/LogFiles. The file will be called ReportServer_<timestamp>.log and by default a new file is created every day at midnight and will be kept for 14 days.

希望当应用程序缓存池和报表服务交互时有相应的日志文件可以查看,这个文件只有在一个连接第一次建立时创建.如果你使用的默认的安装路径的话,那建议你像我一样把这些做个标记,日志文件创建于C:/Program Files/Microsoft SQL Server/MSSQL.1/Reporting Services/LogFiles文件夹下,文件名称应该是以ReportServer_<timestamp>.log命名,并且默认的新文件在0点创建,这些文件将保存14.

 

Take a look at this file and see if you can spot any errors. They are usually easy to spot because they always appear after a timestamp with the prefix of ERROR:

 看看这个文件看你能否找到任何错误信息.这些错误信息应该很容易被发现因为他们通常是出现在一个带ERROR前缀的时间帧后面.

 

         Another issue may be Security related and rather than repeat myself please refer to my previous blog on IIS Security which explains how Reporting Services is configured from an IIS perspective.

另外一个问题应该是和安全相关的.避免重复,请参考我前面一篇关于IIS安全的文章,那上面从IIS的角度解释怎样配置一个报表服务.

 

         If you are connecting using SSL then make sure you are not getting any Security Alert messages indicating there is an issue with a certificate. Any issues will need to be resolved with your local web team.

    如果你使用的是SSL连接,那么确保你在连接的时候没有关于证书的任何安全警示信息

Hopefully if you reach here then you have successfully connected to the Report Server. 如果是存在的话,那么需要和服务器的管理员联系来一同解决这个问题

 

Remote Connectivity Test to Report Server

Unless the Local Connectivity test is successful the Remote Connectivity test will not succeed.

报表服务器的远程连接测试

只有本地连接成功了,远程连接才可能成功.

 

So what we want to do now is perform a Remote Connectivity test on either your workstation or laptop or from another server. We can repeat all the tests except the localhost or 127.0.0.1 tests since these always refer to the machine where Internet Explorer is running.

 现在需要做的是从工作站或者笔记本或者其它服务器来远程连接.我们将重复除了localhost 127.0.0.1之外的是所有连接,因为这些涉及到该机器使用的浏览器.

Try the following connections

         Try connecting using the machine name

         Try connecting using the machines IP address

         Try connecting using the Fully Qualified Domain Name of the server

         Try connecting using a Host Header Name

 尝试如下的一些连接:

      尝试使用计算机名称连接

      尝试使用计算机的IP地址连接

      尝试使用服务器的完全合格域名连接

      尝试使用主机表头值连接

 

Connection Fails

If any of the above tests fail you need to review the following:

连接失败

如果上述任何连接失败,那么需要检查如下一些细节:

 

 Check the C:/WINDOWS/System32/Drivers/etc/HOSTS file does not have incorrect entries

   检查C:/WINDOWS/System32/Drivers/etc/HOSTS文件中是否存在不正确的信息.

 Using NSLOOKUP verify your DNS entries have the right IP Addresses for the server names and Host Header Values.

   使用 NSLOOKUP 验证你的DNS 能够正确地解析服务器和主机表头值的正确地址.

 

 Check the server has the correct domain name suffix added if you are not specifying it.

如果你没有指定域名后缀的话,检查服务器是否使用了正确的域名后缀.

 

         Make sure that the URL you specify only hits one web site. For example one web site could be listening on localhost and port 80 and the other may be listening on any IP address and port 80. A quick way to check this is to Stop the other website and try again.

   确保你指定的URL只能连接到一个web站点,例如,一个web站点监听localhost80端口,那么其它的只能监听到其它IP80端口.一个检验这个的快捷的方式是停止其它的web站点然后重试.

 

Hopefully if the Application Pool has communicated with the Report Server there may be a Report Server log file to view since this file is only created when a connection is first established. If you installed using the default installation path which is a recommended thing to do because articles like mine make reference to them, your log files will be created in folder C:/Program Files/Microsoft SQL Server/MSSQL.1/Reporting Services/LogFiles. The file will be called ReportServer_<timestamp>.log and by default a new file is created every day at midnight and will be kept for 14 days.

希望当应用程序缓存池和报表服务交互时有相应的日志文件可以查看,这个文件只有在一个连接第一次建立时创建.如果你使用的默认的安装路径的话,那建议你像我一样把这些做个标记,日志文件创建于C:/Program Files/Microsoft SQL Server/MSSQL.1/Reporting Services/LogFiles文件夹下,文件名称应该是以ReportServer_<timestamp>.log命名,并且默认的新文件在0点创建,这些文件将保存14.

 

Take a look at this file and see if you can spot any errors. They are usually easy to spot because they always appear after a timestamp with the prefix of ERROR:

 看看这个文件看你能否找到任何错误信息.这些错误信息应该很容易被发现因为他们通常是出现在一个带ERROR前缀的时间帧后面.

 

         Another issue may be Security related and rather than repeat myself please refer to my previous blog on IIS Security which explains how Reporting Services is configured from an IIS perspective.

     另外一个问题应该是和安全相关的.避免重复,请参考我前面一篇关于IIS安全的文章,那上面从IIS的角度解释怎样配置一个报表服务.

 

         We need to ensure there are no IP Address and Domain Name Restrictions. Using IIS Manager look at the properties of the Reporting Services web site and click on the Directory Security tab. Now click Edit next to the IP Address and Domain Name Restrictions. If there are any entries added then check to ensure your IP address is not one of them.

    确保没有IP地址和域名限制.使用IIS管理器查看报表服务所在的web站点的属性,点击目录安全性页,然后点击IP地址和域名限制后面的编辑按钮,如果这个列表里面有记录,那么检查我们使用的IP地址是否包含在里面.

 

Connectivity Tests to Report Manager

If Report Server is working it is now time to test Report Manager. Exactly the same tests are required and exactly the same connectivity failure checks can be performed. The Report Manager has its own log files in the same folder as the Report Server log files in the format ReportServerWebApp_<timestamp>.log

报表管理器的连接测试 

如果报表服务正常运行,那么现在开始测试报表管理器.需要做相同的测试和连接失败检查.报表管理器拥有它自己的日志文件,并且存放在和报表服务器日志同一个文件夹下面,其格式为ReportServerWebApp_<timestamp>.log

 

Before you being the tests you need to be aware of how Report Manager determines how to connect to Report Manager.

 在开始测试之前,需要注意报表管理器怎样去连接报表管理器.

 

Within the Report Manager Virtual Directory is a file called RSWebApplication.config. Within this file is a section starting at <UI> are two parameters we are interested in:

         <ReportServerUrl>

         <ReportServerVirtualDirectory>

 在报表管理器的虚拟目录下有一个叫RSWebApplication.config的文件,在这个文件中所需要关注的两个在<UI>小节的参数是:

<ReportServerUrl>

         <ReportServerVirtualDirectory>

 

These two values are mutually exclusive which means we can only supply a parameter to one of them at any one time.

 这两个参数是相互排斥的.这就意味着在同一时刻只能指定其中一个参数.

 

If the Report Server and Report Manager share the same website on the same machine then all you need to do is supply the Virtual Directory name to the <ReportServerVirtualDirectory> parameter and leave <ReportServerUrl> empty. 

E.G <ReportServerVirtualDirectory>ReportServer</ReportServerVirtualDirectory>

 如果报表服务器和报表管理器使用的是同一台机器上的同一个web站点,那么只需要在<ReportServerVirtualDirectory>下面指定虚拟目录的名称而让<ReportServerUrl>保持空值.

例如: <ReportServerVirtualDirectory>ReportServer</ReportServerVirtualDirectory>

 

If the Report Server and Report Manager do not share the same website on the same machine then you need to supply a <ReportServerUrl> parameter and leave <ReportServerVirtualDirectory> empty. This would be the URL you use to successfully do a Remote connectivity test so it may include SSL or non default port numbers, etc. 

E.G <ReportServerUrl>http://WebServer.Mydomain.com/ReportServer</ReportServerUrl>

 如果 报表服务器和报表管理器使用的是同一台机器上的不同web站点,那么需要指定<ReportServerUrl>参数而让<ReportServerVirtualDirectory>保持空值.这个值应该是你远程连接成功的那个URL,所以,可能会包含SSL或者非默认的宽口等等.

 

A word of advice is to always specify a fully qualified domain name when not using Host Header Values. This will reduce the number of errors when doing non default installations.

 一个建议是使用完全合格域名而不是使用主机表头值.这将在非默认安装下降低错误的次数.

 

Report Manager is an ASP.NET application which needs access to the Report Server Virtual Directories and follows the same security issues as any regular user.  Refer to my previous blog on IIS Security for more information.

 报表管理器是一个ASP.NET应用程序,所以它和其它用户一样需要访问报表服务器的虚拟目录并且遵循相应的安全规则.请参看我前面关于IIS安全的文章.

 

So this brings me to the end of this article so look out for more. I have quiet a few planned on SSL, Double Hop Authentication, Encryption, to name a few. Also any feedback or emails are welcome.

到此结束,我还有一些关于SSL,双跃认证,加密等的写作计划,只是列举了一些.欢迎来信或者发表评论!

Posted 02 July 2007 19:24 by stevechowles | 6 comment(s)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值