s-s-rS 2008 报告 SQL 选项

Posted

技术标签:

【中文标题】s-s-rS 2008 报告 SQL 选项【英文标题】:s-s-rS 2008 Report SQL options 【发布时间】:2010-07-07 11:25:43 【问题描述】:

我想要一些关于存储 s-s-rS 2008 报告的报告 SQL 定义的最佳方法的指导。

[我们的 Web 应用程序将与 s-s-rS Web 服务交互并在 VS ReportViewer 控件中显示报告]

目前我看到 3 个选项

    将 SQL 存储在 RDL [报告定义] 文件中。 将 SQL 存储在存储过程/视图中 [每个报告/父报告 1 个 SPROC] 将所有报告的 SQL 存储在一个报告表中,该表至少具有 ReportNameORGUID 和 ReportSQL 列。

出于该问题的目的,报告设计者将 [最初] 是我们自己的支持人员,他们具有 SQL 的“工作”知识。然而,开发小组的目标是保持对数据库标准和模式的严格控制。

选项 1 允许我们自己的报表设计人员轻松创建和更新报表,但 SQL 分布在所有报表中,可能难以控制、维护和更新。

选项 2 将具有性能优势,但 SPROCS 的数量可能会增加很多,并且要求报表设计人员具有创建 SPROCS 的能力,然后存在以下问题SPROCS 中强制执行的 SQL 标准

选项 3 从控制的角度来看很有吸引力,我们可以为设计人员提供一个简单的管理屏幕,以将 SQL 更新到报告表,但随之而来的是性能问题。

对于上述 3 个选项的附加优点或其他方面的任何意见,以及对我所做假设的更正,我将不胜感激。如果有其他可用的选项,最好知道。

此处详细介绍了 DBA pov 的首选解决方案 http://sqlserverpedia.com/blog/sql-server-bloggers/s-s-rs-should-i-use-embedded-tsql-or-a-stored-procedure/

提前致谢,

利亚姆

【问题讨论】:

那个 DBA 看起来像个白痴。 “哦不!如果我们使用嵌入式 TSQL,查询优化器可能会针对不同的参数生成不同的查询计划!” 【参考方案1】:

我通常采用方法 #1。我的 SQL 嵌入在报告本身中。

无论使用哪种查询语言 - TSQL、MDX、PL/SQL 等,这对我来说都是一致的。

【讨论】:

以上是关于s-s-rS 2008 报告 SQL 选项的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 2008 报告无法使用存储过程

s-s-rS 2008:如何立即生成多个报告?

使用 SSIS 2008 自动生成 s-s-rS 2008 报告

SQL Server 2008 查询正向现金流报告

s-s-rS 13 (SQL 2016) 报告缓存问题

为啥在 s-s-rS 2008 中出现“报告处理中发生意外错误”?