azure-sql-database - Power BI 最大连接到 DB :( Can we populate multiple tables with single Sql. 数据库调用?

标签 azure-sql-database powerbi powerquery

我正在协助我的团队解决我们正在开发的 Power BI 报告的问题。我们在源 SQL 数据库中有一个相当复杂的数据模型,因此我们创建了 5-6 个 View 来更好地管理数据。我们要求使用 DirectQuery,因为报表的一项关键要求是数据库中的最新数据可见,而不是在加载/缓存数据时存在延迟。我们也有单一的数据源,只有一个数据库。

当我们运行报表时,我们看到报表数据源的特定用户与数据库的连接激增 200-500 个,并且这些连接不会关闭。这显然是一个问题,对于任何产品来说都是不可持续的。我们向 Microsoft 高级支持开出了一张票,以解决未关闭的连接问题,但与此同时,我想知道我们在报告中是否做错了什么?

当我在查询编辑器中查看查询时,我们基本上每个 View 都有一个查询,而且很简单:

let
  Source = Sql.Database(Server, Database)
  query_view_name = Source{[Schema ......]}[Data]
in
  query_view_name

(我面前没有原始代码,但这就是它的要点。)

在我看来,根据数据库中的分析,每次调用此 View 时,“Sql.Database”都会打开一个新连接。如果有 5-6 个 View ,则至少有 5-6 个连接;然后每次更改过滤器时,都会增加更多连接,并从那里开始复合,直到数据库连接池达到最大。

有没有一种方法可以使用与数据库的单个连接来填充所有表?为什么 Power BI 要使用如此多的连接?我们可以在高级查询编辑器中填充多个表吗?使用 DirectQuery,对于我们可以在报告中查看/排除故障/更改的内容有什么建议吗?

谢谢!

最佳答案

Power BI 建立与数据库的多个连接以并行加载多个表。如果您不想这样做,可以从 Options->Current file->Data Load->Enable 将其关闭表的并行加载:

enter image description here

请记住,关闭此选项很可能会增加模型加载时间。

您可能需要查看选项->当前文件->Direct中的每个数据源的最大连接数选项查询和它下面的整个查询减少部分。对于像您这样的情况,强烈建议在此页面上启用切片器选择过滤器选择,但您需要培训用户,让他们知道他们需要单击应用 查看结果。

关于azure-sql-database - Power BI 最大连接到 DB :( Can we populate multiple tables with single Sql. 数据库调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55680741/

相关文章:

asp.net-mvc - 如何将 ASP.Net 4.5/MVC 4/SQL Express 2008 R2 部署到 Windows Azure 免费网站

excel - Power Query 表达式错误 : A value of type "Record" cannot converted into type "Text"

用于排除结果的 PowerBI 切片器

asp.net - Azure SQL 数据库 v12 - 全文查询

sql-server - BCP SQL Server 日期格式无效

azure - 在与 Liver 实例相同的 SQL Server 上对 QA 实例进行压力测试是否会影响该 Live 实例的性能?

powerbi - Power BI Custom Visual Dataview 分组问题,即使没有汇总

excel - DAX 公式错误 - 产生变体数据类型的表达式不能用于定义计算列

powerbi - Power BI::这是有效的星型架构吗?

comments - 如何在 Power Query M 中发表评论?