SQL中的ReportServer数据库是什么数据库?

我系统是visit系统装好SQL2005后
里面的数据库有个4个
2个文件夹是系统数据库和数据库快照
下面还2个数据库是
ReportServer和ReportServerTempDB
请问这两个数据库是干什么的?有什么用?

一、Report Server数据库:

是一个SQL Server数据库。它能够存储SSRS配置部分,报告定义,报告元数据,报告历史,缓存政策,快照,资源,安全设置,加密的数据,调度和提交数据,以及扩展信息。 

注意事项:尽管用户能够直接存取在SSRS目录下的数据库并且能够直接修改SSRS使用的对象;但在实践中,不推荐(或不支持)这样做,因为在SSRS目录下的内在数据和结构不能被保证与不同版本的SSRS、服务包或补丁相兼容。 

需要把Report Server数据库当作产品数据库之一来对待。尽管许多开发人员都习惯把RDL存储在一个单独的仓库中,并因此导致经常恢复RDL。但是,损失快照数据能够带来消极的业务影响。

例如,用户可能使用快照的报告"相对静止"数据的能力来作一些业务决定。

二、ReportServerTempDB数据库:

是SSRS使用的临时数据库。这个数据库负责存储中间处理结果,例如报表服务器生成的会话和执行数据、缓存报表以及工作表。

正常情况下,Report Server能够周期性地清ReportServerTempDB中的到期的和孤立的数据。后台进程定期清理时间间隔由参数CleanupCycleMinutes控制,这个参数位于

<Installation Drive>\<Program Files or Program Files(x86)>\Microsoft SQL Server\<SSRS Instance>\Reporting Services\ReportServer 下的rsreportserver.config配置文件中。

注意事项:为了把临时快照存储在文件系统而不是数据库中,管理员应该完成下列步骤。 

1、修改RSReportServer.config,并把WebServiceUseFileShareStorage和WindowsServiceUseFileShareStorage设置为True。 

2、把FileShareStorageLocation设置为一个全称路径。默认路径是"C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\RSTempFiles"。

不同于SQL Server的tempdb,当在ReportServerTempDB中的数据存储时限超过SQL Server时,Report Server将会重启。

而且,Report Server能够周期性地清除ReportServerTempDB中的到期的和孤立的数据。 在任何时间,所有的ReportServerTempDB中的数据都能够被以最小(或毫无)影响删除掉。

扩展资料:

ReportServerTempDB增长异常的处理:

1、首先停止SSRS服务,删除SessionDate表的数据。

2、 然后启动SSRS服务,收缩ReportServerTempDB数据库。

如果磁盘空间足够的情况下,就不要收缩ReportServerTempDB数据库了。如果磁盘空间实在紧张,那么收缩也是必须的。

如果还存在dbo.SessionData不断增长的情况,最好创建做一个作业,每天定期清理那些过期的会话信息。

参考资料:

百度百科--SqlServer

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-28

一、Report Server数据库:

是一个SQL Server数据库。它能够存储SSRS配置部分,报告定义,报告元数据,报告历史,缓存政策,快照,资源,安全设置,加密的数据,调度和提交数据,以及扩展信息。 

注意事项:尽管用户能够直接存取在SSRS目录下的数据库并且能够直接修改SSRS使用的对象;但在实践中,不推荐(或不支持)这样做,因为在SSRS目录下的内在数据和结构不能被保证与不同版本的SSRS、服务包或补丁相兼容。 

需要把Report Server数据库当作产品数据库之一来对待。尽管许多开发人员都习惯把RDL存储在一个单独的仓库中,并因此导致经常恢复RDL。但是,损失快照数据能够带来消极的业务影响。

例如,用户可能使用快照的报告"相对静止"数据的能力来作一些业务决定。

二、ReportServerTempDB数据库:

是SSRS使用的临时数据库。这个数据库负责存储中间处理结果,例如报表服务器生成的会话和执行数据、缓存报表以及工作表。

正常情况下,Report Server能够周期性地清ReportServerTempDB中的到期的和孤立的数据。后台进程定期清理时间间隔由参数CleanupCycleMinutes控制,这个参数位于

<Installation Drive>\<Program Files or Program Files(x86)>\Microsoft SQL Server\<SSRS 

Instance>\Reporting Services\ReportServer 下的rsreportserver.config配置文件中。

扩展资料

ReportServer数据库代码:

1,exec sp_reset_connection 

2,exec GetMyRunningJobs @ComputerName=N'WAXDOLL',@JobType=0

3,exec sp_reset_connection 

4,exec ObjectExists @Path=N'/Test1/TestReport',@AuthType=1

5,exec ObjectExists @Path=N'/Test1',@AuthType=1

这段T-SQL语句的作用就是调用ReportServer数据库中的存储过程完成报表的部署工作,分析如下:

第1行sp_reset_connection多次出现,这是SQL Server的一个系统存储过程,查不到相关文档,不过不用去管它,知道它是SQL Server用于在重新使用连接之前重置该连接的选项和设置就可以了;

第2行的存储过程GetMyRunningJobs用于获取当前用户正在运行的任务,该存储过程其实只有一个SELECT操作,可能用于返回某种标志,但不会对部署报表产生绝对影响,实在不行可以在客户端等待当前任务运行完成或直接Kill掉;

第4行的存储过程ObjectExists分别用于判断报表/Test1/TestReport是否存在,并返回下面语句中需要用到的变量@SnapshotDataID的值;

第5行的存储过程ObjectExists分别用于判断文件夹/Test1是否存在,并返回下面语句中需要用到的变量@ParentID的值;

参考资料:百度百科 - SqlServer


本回答被网友采纳
第2个回答  推荐于2017-10-12
SSRS目录下包括两个数据库:Report Server数据库(默认名是ReportServer)和ReportServer临时数据库(默认名是ReportServerTempDB)。Report Server数据库是一个SQL Server数据库,它能够存储SSRS配置部分,报告定义,报告元数据,报告历史,缓存政策,快照,资源,安全设置,加密的数据,调度和提交数据,以及扩展信息。

注意 尽管用户能够直接存取在SSRS目录下的数据库并且能够直接修改SSRS使用的对象;但在实践中,不推荐(或不支持)这样做,因为在SSRS目录下的内在数据和结构不能被保证与不同版本的SSRS、服务包或补丁相兼容。

请把Report Server数据库当作产品数据库之一来对待。尽管许多开发人员都习惯把RDL存储在一个单独的仓库中,并因此导致经常恢复RDL;但是,损失快照数据能够带来消极的业务影响。例如,用户可能使用快照的报告"相对静止"数据的能力来作一些业务决定。
SSRS使用的另一个数据库是Report Server临时数据库。这个数据库负责存储中间处理产品,例如缓冲的报告、会话和执行数据等。
注意 为了把临时快照存储在文件系统而不是数据库中,管理员应该完成下列步骤。

首先,修改RSReportServer.config,并把WebServiceUseFileShareStorage和WindowsServiceUseFileShareStorage设置为True。
然后,把FileShareStorageLocation设置为一个全称路径;默认路径是"C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\RSTempFiles"。

不同于SQL Server的tempdb,当在ReportServerTempDB中的数据存储时限超过SQL Server时,Report Server将会重启。而且,Report Server能够周期性地清除ReportServerTempDB中的到期的和孤立的数据。

在任何时间,所有的ReportServerTempDB中的数据都能够被以最小(或毫无)影响删除掉。例如,这种用户可能体验到的最小的影响是带来一种暂时的性能减弱(由于损失了缓存数据,而且失去了一个执行状态)。执行状态被存储在表SessionData中。执行状态结果的损失可能导致一个错误:"Execution 'j4j3vfblcanzv3qzcqhvml55' cannot be found (rsExecutionNotFound)"。为了解决执行状态损失问题,用户需要重新打开一个报告。

提示 SSRS不能恢复数据库中删除的ReportServerTempDB或表。为了快速地从数据库中对象的错误删除中进行恢复,应该保留一个脚本或一个空ReportServerTempDB的备份。

在一个向外扩展的发布中,SSRS目录是被跨该发布中所有的报告服务器共享的。

SQL网站教程

参考资料:http://www.etaonet.com

本回答被提问者采纳
相似回答