SQL Server Profiler 中的 DISCOVER_CSDL_METADATA 真的很慢

Posted

技术标签:

【中文标题】SQL Server Profiler 中的 DISCOVER_CSDL_METADATA 真的很慢【英文标题】:Really slow DISCOVER_CSDL_METADATA in SQL Server Profiler 【发布时间】:2021-05-06 13:02:09 【问题描述】:

我们的设置是 SQL Server + SSAS + 多维 OLAP + PowerBI。

我们最近注意到的问题是,当用户加载 PowerBI 报告时,有时会发生上述事件。这会导致报告加载之前的等待时间非常长(事件最多需要 45-60 秒)。

我们的多维数据集有约 20 个维度和约 50 个度量,3 个分区中的 2-3 百万行,MOLAP 存储。

我们能做些什么呢?我们如何调试它?我们没有 SSAS 专家参与,用谷歌搜索这个活动并没有多大帮助。我们可以在哪里搜索此类行为的原因?

【问题讨论】:

SQL Server 探查器日志中是否可见错误?与support.microsoft.com/en-us/topic/… 或support.microsoft.com/en-us/topic/… 相关的任何内容? 感谢您的评论。 (un) 幸运的是,没有错误。只是很长的 DISCOVER_BEGIN 和 DISCOVER_END 以及介于 DISCOVER_CSDL_METADATA 之间的时间,我只花了将近一分钟。一位用户今天最长的持续时间超过 90 秒... 【参考方案1】:

事实证明,在我们的例子中,这可能是由于每次处理多维数据集时都删除了缓存造成的。

我们的解决方案是创建 SSIS 包,它会在我们每次处理多维数据集时运行某些 DMV 查询来填充缓存,因此最终用户将能够使用缓存而不是自己生成缓存。

【讨论】:

以上是关于SQL Server Profiler 中的 DISCOVER_CSDL_METADATA 真的很慢的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Profiler 中的 DISCOVER_CSDL_METADATA 真的很慢

SQL优化工具 - SQL Server Profiler与数据库引擎优化顾问

使用SQL SERVER PROFILER 捕获和分析思索

sql server 2012 profiler打开2016的profiler

sql server profiler 是啥文件

如何在sql server 2008客户端安装sql profiler