编者注:这篇博客文章来自Windows Azure SQL Reporting 项目经理David Magar。
尽管人们倾向于采用一个现有的ReportingServices项目,并且把它放置到云上,你确实不应该这样做。在本地服务器运行良好的报表部署到SQL Reporting报告服务器也许没有本地服务器上同样的性能。
很幸运,3个简单的修改就可以产生更快的运行报告。这篇博客文章将详细讲述每一个修改。
最佳做法#1: 重新配置 ReportViewer 控件
如果你在ASP.Net页或者Windows forms应用程序中使用ReportViewer 控件(RVC),你需要更改以下的配置:
1.通过调用:WebRequest.DefaultWebProxy =
null, 在您的应用程序初始化中禁用默认的代理服务器;
2. 调用SetParameters 和not SetParameter,同时设置所有 Windows Azure SQL 报告参数。设置参数导致调用在Windows Azure SQL Database中的Windows Azure SQL Reporting数据层。通过发出一个调用而不是几个,对减少读\写周期有很多帮助。
3.通过配置应用程序的RVC使用cookie进行身份验证,而不用进行日志调用。这将强制你的用户或者应用程序登陆一次,稍后返回一个cookie为了更快的呈现。请记住,Report Server仅仅允许在60分钟内创建的cookie,因此当设计你的应用程序的时候,你必须把这个cookie应用到账户。
最佳做法 #2: Co-locate Web 应用程序和在相同数据中心的数据库。
ReportViewer控件和报表服务器频繁通信。这种行为不可避免,但是通过在同一个数据中心中部署你的Windows Azure应用程序和报表服务器,你可以最小化成本。
当选择在哪里部署你的Windows AzureSQL数据库时,这种注意事项同样适用。发送到SQL Database的每一个查询都带有一定量的系统花费。在页面呈现时身份验证、 授权、 处理请求,等等所有的这些操作有助于在初始连接之间延迟。将数据库放在同一个数据中心,采取这种行为其他应用程序减少了时间,节约了呈现时间并且产生更好的性能。
通过阅读来自我们团队David Bahat的博客文章,您可以检测到您的数据库、
应用程序和报表服务器的位置,以及了解为每个报表呈现引入数据确切它花费多少时间。
最佳做法 #3: 编写高效的查询
当创作报告时,设置可以仅仅带来报告可视化需要的数据(当设计查询时,尤其避免“Select *” SQL声明类型)。这种最佳的做法确保你的报告最快的呈现。
最后,我希望这3个建议有助于解决一些与应用程序和SQL Reporting有关的性能问题。
我期待您的反馈和在下面评论。
真诚地,
David Magar
Windows Azure SQL Reporting程序经理
本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2012/12/07/aa.aspx
分享到:
相关推荐
其中,Windows Azure SQL Database(现称Azure SQL Database)作为微软的一项重要产品,自五年前首次亮相以来,已经逐渐发展成为一个企业级的平台即服务(Platform as a Service, PaaS)解决方案。起初,由于其最大...
本书深入浅出地讲解了如何在微软云服务Windows Azure平台上进行SQL Reporting的开发和应用,特别适合希望了解和掌握Windows Azure SQL Reporting技术的读者阅读。 #### 第一部分:SQL Reporting简介 **1.1 什么是...
SQL Azure作为Windows Azure平台的一部分,提供了高可用性、强伸缩性和全面的云数据库服务,旨在帮助客户快速构建和扩展应用程序,同时确保数据的安全和合规。 ### 二、SQL Azure的业务场景 1. **部门级应用程序:...
本文档提供了对Azure平台及其核心服务(包括Windows Azure、.NET Services、SQL Services 和 Live Services)的早期洞察。 #### Windows Azure Windows Azure 是Azure服务平台的基础组成部分,它为应用程序提供了...
在备份与恢复方面,SQL Server 2012支持直接备份到Windows Azure,使得云备份和灾难恢复变得更加便捷。此外,还引入了差异备份和文件组备份,使得备份策略更加灵活多样。 对于报表服务,SQL Server Reporting ...
Azure提供了Web服务(如Azure App Service)来托管Web应用,Azure SQL Database用于关系数据,而Azure Reporting或Power BI可用于生成报告。 4. **关系数据存储解决方案**:需要将数据存储在关系架构中的Azure应用...
《SQLServer高级开发与专业应用》一书涵盖了SQL Server数据库系统的深入理解和专业级应用技巧,是针对数据库开发者和管理员的一份宝贵资源。SQL Server作为微软公司推出的强大关系型数据库管理系统,广泛应用于企业...
在IT领域,SQL Server数据库开发设计是至关重要的一个环节,尤其对于企业级应用的数据存储和管理。本资料包深入探讨了SQL Server在数据库设计、开发和优化等方面的关键知识点。 首先,我们要理解SQL Server的基本...
SQL Server Management Studio (SSMS) 是微软开发的一款用于管理和维护SQL Server的重要工具。版本19.3是该软件的一个更新,提供了对SQL Server数据库引擎、分析服务、集成服务、复制以及报告服务等组件的全面支持。...
14. **开发与自动化**:讲解如何使用SSDT(SQL Server Data Tools)进行数据库开发,以及使用SSIS(SQL Server Integration Services)、SSRS(SQL Server Reporting Services)和SSAS(SQL Server Analysis ...
7. **SSIS/SSAS/SSRS(SQL Server Integration Services/Analysis Services/Reporting Services)**:这三者构成SQL Server的数据仓库工具套件,用于数据集成、OLAP处理和报告生成。熟悉它们的使用,能实现高效的...
3. **数据库架构**:SQL Server由多个组件组成,包括数据库引擎、Analysis Services(OLAP处理)、Integration Services(数据集成)、Reporting Services(报表服务)等。每个组件都有其特定用途,共同构成强大的...
SQL Server数据库开发是IT行业中一个重要的领域,它涉及到数据存储、查询、管理和分析等多个关键环节。SQL Server是由Microsoft公司推出的关系型数据库管理系统,被广泛应用于企业级的数据管理和应用开发。以下是...
9. **版本兼容性**:SSMS适用于多个版本的SQL Server,包括较新的Azure SQL Database和Azure Synapse Analytics,体现了其广泛的适用性。 10. **自动化和脚本编写**:用户可以编写和运行脚本来自动化常见的管理任务...
SSMS是一个集成环境,用于管理任何版本的SQL基础设施,包括SQL Server、Azure SQL Database和Azure SQL Data Warehouse。它提供了一个图形界面,让用户可以编写、测试和执行SQL脚本,进行数据库对象的创建和管理,...
10. **云服务与Azure SQL**:随着云计算的发展,SQL Server也能在Azure云平台上运行,成为Azure SQL Database或Azure SQL Managed Instance,提供更灵活的部署和扩展选项。 总之,《SQL Server数据库技术大全》这...
MS SQL Server是一款由微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。在MS SQL Server培训中,通常会涵盖以下几个核心知识点: 1. **SQL基础**:SQL(Structured Query Language)是...
3. **开发与集成** - **集成服务(SSIS)**:强大的ETL(提取、转换、加载)工具,支持多种数据源和目标。 - ** Reporting Services(SSRS)**:提供灵活的报表设计和发布,支持交互式和自定义报表。 - **...
《SQLServer2016数据库管理与开发项目教程(微课版)》是一份全面介绍SQL Server 2016数据库管理系统的学习资源,其源代码部分涵盖了数据库管理、开发及项目实践的关键知识点。通过这份教程,你可以深入理解SQL ...