SQL server2008r2 中reporting services 配置管理器,报表服务器数据库测试连接失败

SQL server2008r2 中reporting services 配置管理器,报表服务器数据库测试连接失败,第1张

如何创建报表服务器数据库(Reporting Services 配置)

SQL Server 2008 R2

其他版本

Reporting Services 将 SQL Server 数据库用于内部存储。该数据库是必需的,它用于存储已发布的报表、模型、共享数据源、会话数据、资源和服务器元数据。

若要创建报表服务器数据库或更改连接字符串或凭据,请使用 Reporting Services 配置管理器的“数据库”页中的选项。

何时创建或配置报表服务器数据库

如果在“仅文件”模式下安装报表服务器,则必须创建和配置报表服务器数据库。

如果在本机模式的默认配置下或 SharePoint 集成模式下安装 Reporting Services,则安装报表服务器实例时会自动创建和配置报表服务器数据库。可以使用 Reporting Services 配置管理器查看或修改安装程序为您配置的设置。

开始之前

创建或配置报表服务器数据库是一个多步骤过程。创建报表服务器数据库之前,请考虑要如何指定下列各项:

选择数据库服务器

Reporting Services 需要一个 SQL Server 2005、2008 或 2008 R2 数据库引擎实例来承载报表服务器数据库。可以使用本地或远程服务器。

检查版本要求

验证数据库引擎的版本是否与您所使用的报表服务器版本兼容。有关版本兼容性的详细信息,请参阅创建报表服务器数据库。

启用 TCP/IP 连接

启用数据库引擎的 TCP/IP 连接。默认情况下,某些数据库引擎版本不启用 TCP/IP。本主题中提供了相关说明。

打开 SQL Server 的端口

对于远程服务器,如果使用的是防火墙软件,则必须打开数据库引擎侦听的端口。

确定一种模式

报表服务器数据库支持本机模式或 SharePoint 集成模式。“本机模式”为默认设置。要将 Reporting Services 部署为独立的应用程序服务器时,使用此模式。

计划将报表服务器与 SharePoint 产品或技术的实例一起部署时,使用“SharePoint 集成模式”。运行向导时将创建数据库,但在将报表服务器添加到 SharePoint 场之前,您将无法添加内容或查看项目。有关详细信息,请参阅 SQL Server 联机丛书中的规划部署模式。

确定报表服务器凭据

确定报表服务器与报表服务器数据库的连接方式。凭据类型包括域用户帐户、SQL Server 数据库用户帐户或报表服务器服务帐户。

这些凭据经过加密并存储在 RSReportServerconfig 文件中。报表服务器将这些凭据用于与报表服务器数据库进行的连接。如果您要使用 Windows 用户帐户或数据库用户帐户,请确保指定已经存在的帐户。尽管 Reporting Services 配置管理器将创建登录名并设置必要的权限,但不会为您创建帐户。 有关详细信息,请参阅配置报表服务器数据库连接。

确定报表服务器语言

选择要为报表服务器指定的语言。当用户使用不同语言版本的浏览器连接到服务器时,预定义的角色名称、说明和“我的报表”文件夹不会以不同的语言显示。有关在报表服务器部署中如何使用语言资源的详细信息,请参阅 SQL Server 联机丛书中的多语言或全局部署的解决方案设计注意事项 (Reporting Services)。

检查凭据以创建和设置数据库

确保您拥有的帐户凭据具有在数据库引擎实例上创建数据库的权限。这些凭据用于一次性连接以创建报表服务器数据库和 RSExecRole。如果登录名尚不存在,将为报表服务器所用的帐户创建一个数据库用户登录名以连接到该数据库。 您可以用您登录时所用的 Microsoft Windows 帐户进行连接,也可以输入 SQL Server 数据库登录名。

启用对远程报表服务器数据库的访问

如果您使用的是远程数据库引擎实例,请登录到此数据库服务器以验证或启用 TCP/IP 连接。

依次指向“开始”、“所有程序”、Microsoft SQL Server、“配置工具”,再单击“SQL Server 配置管理器”。

打开“SQL Server 网络配置”。

选择实例。

右键单击 TCP/IP,再单击“启用”。

重新启动服务。

打开防火墙软件并打开 SQL Server 侦听的端口。对于默认实例,此端口通常为用于 TCP/IP 连接的 1433 端口。有关详细信息,请参阅 SQL Server 联机丛书中的如何为数据库引擎访问配置 Windows 防火墙。

创建本地报表服务器数据库

启动 Reporting Services 配置管理器并连接到要为其创建数据库的报表服务器实例。有关详细信息,请参阅如何启动 Reporting Services 配置。

在“数据库”页上,单击“更改数据库”。

单击“新建数据库”,然后单击“下一步”。

连接到您将用于创建和承载报表服务器数据库的数据库引擎实例:

键入要使用的 SQL Server 数据库引擎实例。向导将显示作为默认实例(如果可用)运行的本地数据库引擎。否则,您必须键入要使用的服务器和实例。 命名实例以此格式指定:<服务器名称>\<实例名>。

输入用于一次性连接到数据库引擎的凭据以创建报表服务器数据库。 有关如何使用这些凭据的详细信息,请参阅本主题中的开始之前。

单击“测试连接”以验证与服务器的连接。

单击“下一步”。

指定用于创建数据库的属性。有关如何使用这些属性的详细信息,请参阅本主题中的开始之前:

键入报表服务器数据库的名称。创建主数据库时,会同时为其创建一个临时数据库。请考虑使用一个说明性名称来帮助记忆数据库的使用方式。请注意,您指定的名称将在数据库的生存期内使用。在创建报表服务器数据库之后,不能对其进行重命名。

选择要显示角色定义和“我的报表”所用的语言。

选择服务器模式。除非计划在 SharePoint 产品或技术中部署报表服务器,否则请选择“本机模式”。

单击“下一步”。

指定报表服务器用来连接到报表服务器数据库的凭据。

指定身份验证类型:

选择“数据库凭据”以使用已定义的 SQL Server 数据库登录名进行连接。如果报表服务器位于不同域、不可信域或装有防火墙的计算机中,则建议使用数据库凭据。

如果您拥有的最低特权域用户帐户具有登录到该计算机和数据库服务器的权限,则选择“Windows 凭据”。

如果希望报表服务器使用其自身的服务帐户进行连接,则选择“服务凭据”。使用此选项,该服务器将使用集成安全性进行连接;凭据不进行加密或存储。

单击“下一步”。

检查“摘要”页上的信息以确保设置正确,然后单击“下一步”。

单击“报表服务器 URL”页或“报表管理器 URL”页上的 URL,验证连接。必须定义这些 URL 才能进行此测试。如果报表服务器数据库连接有效,您会在浏览器窗口中看到报表服务器文件夹层次结构或报表管理器。有关详细信息,请参阅 SQL Server 联机丛书中的如何验证 Reporting Services 安装。

第一步:应用程序把查询SQL语句发给服务器端执行

我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。

第二步:服务器解析请求的SQL语句

SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是如果你马上或者在一定时间内运行同样的语句,会在很短的时间内返回查询结果。原因是:

服务器在接收到查询请求后,并不会马上去数据库查询,而是在数据库中的计划缓存中找是否有相对应的执行计划。如果存在,就直接调用已经编译好的执行计划,节省了执行计划的编译时间。

如果所查询的行已经存在于数据缓冲存储区中,就不用查询物理文件了,而是从缓存中取数据,这样从内存中取数据就会比从硬盘上读取数据快很多,提高了查询效率。数据缓冲存储区会在后面提到。

如果在SQL计划缓存中没有对应的执行计划,服务器首先会对用户请求的SQL语句进行语法效验,如果有语法错误,服务器会结束查询 *** 作,并用返回相应的错误信息给调用它的应用程序。

注意:此时返回的错误信息中,只会包含基本的语法错误信息,例如select写成selec等,错误信息中如果包含一列表中本没有的列,此时服务器是不会检查出来的,因为只是语法验证,语义是否正确放在下一步进行。

语法符合后,就开始验证它的语义是否正确。例如,表名、列名、存储过程等等数据库对象是否真正存在,如果发现有不存在的,就会报错给应用程序,同时结束查询。

接下来就是获得对象的解析锁,我们在查询一个表时,首先服务器会对这个对象加锁,这是为了保证数据的统一性,如果不加锁,此时有数据插入,但因为没有加锁的原因,查询已经将这条记录读入,而有的插入会因为事务的失败会回滚,就会形成脏读的现象。

接下来就是对数据库用户权限的验证。SQL语句语法,语义都正确,此时并不一定能够得到查询结果,如果数据库用户没有相应的访问权限,服务器会报出权限不足的错误给应用程序,在稍大的项目中,往往一个项目里面会包含好几个数据库连接串,这些数据库用户具有不同的权限,有的是只读权限,有的是只写权限,有的是可读可写,根据不同的 *** 作选取不同的用户来执行。稍微不注意,无论你的SQL语句写的多么完善,完美无缺都没用。

解析的最后一步,就是确定最终的执行计划。当语法、语义、权限都验证后,服务器并不会马上给你返回结果,而是会针对你的SQL进行优化,选择不同的查询算法以最高效的形式返回给应用程序。例如在做表联合查询时,服务器会根据开销成本来最终决定采用hashjoin,mergejoin,还是loopjoin,采用哪一个索引会更高效等等。不过它的自动化优化是有限的,要想写出高效的查询SQL还是要优化自己的SQL查询语句。

当确定好执行计划后,就会把这个执行计划保存到SQL计划缓存中,下次在有相同的执行请求时,就直接从计划缓存中取,避免重新编译执行计划。

第三步:语句执行

服务器对SQL语句解析完成后,服务器才会知道这条语句到底表态了什么意思,接下来才会真正的执行SQL语句。

此时分两种情况:

如果查询语句所包含的数据行已经读取到数据缓冲存储区的话,服务器会直接从数据缓冲存储区中读取数据返回给应用程序,避免了从物理文件中读取,提高查询速度。

如果数据行没有在数据缓冲存储区中,则会从物理文件中读取记录返回给应用程序,同时把数据行写入数据缓冲存储区中,供下次使用。

说明:SQL缓存分好几种,这里有兴趣的朋友可以去搜索一下。有时因为缓存的存在,使得我们很难马上看出优化的结果,因为第二次执行因为有缓存的存在,会特别快速,所以一般都是先消除缓存,然后比较优化前后的性能表现,这里有几个常用的方法:

1DBCC

2从缓冲池中删除所有清除缓冲区。

3DBCC

4从过程缓存中删除所有元素。

5DBCC

6从所有缓存中释放所有未使用的缓存条目。

SQLServer2005数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。

这只能基本消除SQL缓存的影响,目前好像没有完全消除缓存的方案,如果大家有,请指教。

执行顺序:

FROM子句返回初始结果集。

WHERE子句排除不满足搜索条件的行。

GROUPBY子句将选定的行收集到GROUPBY子句中各个唯一值的组中。

选择列表中指定的聚合函数可以计算各组的汇总值。

此外,HAVING子句排除不满足搜索条件的行。

计算所有的表达式;

使用orderby对结果集进行排序。

查找你要搜索的字段。

以上就是关于SQL server2008r2 中reporting services 配置管理器,报表服务器数据库测试连接失败全部的内容,包括:SQL server2008r2 中reporting services 配置管理器,报表服务器数据库测试连接失败、SQL语句在数据库中是怎样执行的(sql怎么执行语句)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10163304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存