SSAS多维数据集处理(不是错误,不是飞行记录器)日志存储在哪里?
我们有一个运行SQL Server Analysis Services命令的SQL代理作业。有一些DMX处理每个维度然后处理立方体数据库(包含两个立方体)
我想知道各种查询的持续时间。每个维度有一个查询,每个度量值组有一个查询
立方体需要20分钟,现在需要2个小时。
我们正在使用SSAS 2008 R2
我搜索得很长很难,据我所知,没有这样的日志。
不重复的问题:
get output of last Process on SSAS cube
我不想使用Profiler。我想看看每个查询至少在最后一个多维数据集构建中花了多长时间。如果我以交互方式运行,我可以看到所有这些信息。如何从作业运行时记录此信息?
答案 0 :(得分:1)
有几种选择。您可以按照自己的方式继续处理多维数据集,但开始记录所有处理事件。除了Profiler GUI之外,还有三种主要方法:
服务器端跟踪将.trc文件写入SSAS服务器上的磁盘,但开销很小: http://blogs.msdn.com/b/karang/archive/2009/11/02/sql-2005-sql-2008-analysis-services-server-side-tracing.aspx 然后,您可以将其加载到SQL Server中,以便稍后通过PowerShell进行分析: http://www.bp-msbi.com/2012/02/counting-number-of-queries-executed-in-ssas/
安装名为ASTrace的社区维护服务,该服务使用Profiler API(不带GUI),并将您选择的Profiler事件直接写入SQL Server实时。 https://github.com/Microsoft/Analysis-Services/tree/master/AsTrace
记录XEvents并在以后分析它们: http://blog.crossjoin.co.uk/2012/05/05/using-xevents-in-ssas-2012/ 要么: https://francescodechirico.wordpress.com/2012/08/03/identify-storage-engine-and-formula-engine-bottlenecks-with-new-ssas-xevents-5/
所有这些选项都将记录所有处理事务。您可以选择要记录的事件(例如,处理事件而不是查询)。
但另一种选择是使用会话跟踪。您可以停止使用" SQL Server Analysis Services命令"步骤在SQL Agent中键入并开始使用PowerShell步骤类型并执行以下操作。此示例使用SessionTrace从PowerShell运行SSAS备份,以观察所有" profiler"仅针对该会话的事件: https://gallery.technet.microsoft.com/scriptcenter/Backup-Ssas-Databases-with-da62b084