我如何从Azure SQL生成不降低系统速度的报告?

我如何从Azure SQL生成不降低系统速度的报告?,sql,sql-server,azure,report,Sql,Sql Server,Azure,Report,我希望有人能给我一些建议,或者给我一些相关的阅读资料。我为我的团队生成业务报告。我们有一个订阅网站,所以我们有时需要每天跟踪几件事情。涉及大量sql查询。问题是从实时数据库查询大量信息会减慢或导致网站超时 我当前的解决方案要求我每天运行bcp脚本,将新行复制到备份数据库(我纯粹用于报告)。然后我使用我制作的应用程序从那里生成报告。输出最终是一个或多个excel文件(为了业务团队的利益,他们更容易阅读)。不过,我的临时解决方案中有几个问题 它只添加新行。不会复制对上一行的更新。及 这似乎不是很有效

我希望有人能给我一些建议,或者给我一些相关的阅读资料。我为我的团队生成业务报告。我们有一个订阅网站,所以我们有时需要每天跟踪几件事情。涉及大量sql查询。问题是从实时数据库查询大量信息会减慢或导致网站超时

我当前的解决方案要求我每天运行bcp脚本,将新行复制到备份数据库(我纯粹用于报告)。然后我使用我制作的应用程序从那里生成报告。输出最终是一个或多个excel文件(为了业务团队的利益,他们更容易阅读)。不过,我的临时解决方案中有几个问题

  • 它只添加新行。不会复制对上一行的更新。及
  • 这似乎不是很有效

  • 还有别的办法吗?我主要关心的是,生成或查询不应该减慢我们网站的速度。

    我可以为您想出三个选项,每个选项都有不同的实现方法。第一个是Azure SQL数据同步服务,第二个是AS COPY操作,第三个是在备份之上运行

    如果您需要更多的实时报告功能,则是一个不错的选择;这意味着,如果您需要在几乎任何时间一天运行多次报告,并且您需要尽可能实时地获取数据。同步服务可能会对主数据库的性能产生影响,因为它是基于触发器运行的,但使用此选项,您可以选择要同步的内容;换句话说,您可以复制一组经过筛选的数据,这将对性能的影响降至最低。然后您可以在同步数据库上创建报告。这种方法的另一个重要缺点是最终会维护同步服务;如果主数据库架构发生更改,则可能需要重新创建部分或全部同步配置

    第二个选项是简单的数据库复制操作,它本质上为您提供了主数据库的克隆。根据数据库的大小,这可能需要一些时间,所以测试是关键。但是,如果您正在为昨天的活动执行晨报告,并且拥有最新数据并不重要,那么您可以在数小时后(或当数据库中的活动最低时)按计划运行操作的as副本,并在辅助数据库中运行报告。您可能需要构建一个小脚本,或者使用第三方工具来帮助您实现自动化。对主数据库的性能几乎没有影响。此外,操作的AS副本提供事务一致性(如果这对您很重要的话)

    第三种选择可能是使用备份机制(例如,或Azure备份工具),并在运行报告之前恢复最新备份。这样做的好处是无需付出太多额外的努力即可利用您的备份战略