SQL中的ReportServer数据库是什么数据库?
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
一、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