【问题标题】:SSAS Cube processing logsSSAS Cube 处理日志
【发布时间】:2015-10-05 06:24:28
【问题描述】:

SSAS 多维数据集处理(不是错误,不是飞行记录器)日志存储在哪里?

我们有一个运行 SQL Server Analysis Services 命令的 SQL 代理作业。其中有一些 DMX 处理每个维度然后处理多维数据集数据库(包含两个多维数据集)

我想知道每个查询需要多长时间。每个维度有一个查询,每个度量值组有一个查询

立方体需要 20 分钟,现在需要 2 小时。

我们正在使用 SSAS 2008 R2

我已经搜索了很长时间,据我所知没有这样的日志。

与此重复的问题:

Error Log records in SSAS

get output of last Process on SSAS cube

我不想使用 Profiler。我想看看每个查询在最后一个多维数据集构建中至少花费了多长时间。如果我以交互方式运行,我可以看到所有这些信息。从作业运行时如何让它记录此信息?

【问题讨论】:

    标签: ssas ssas-2008


    【解决方案1】:

    有几个选项。您可以按照您的方式继续处理多维数据集,但开始记录所有处理事件。除了 Profiler GUI 之外,还有三种主要方法可以做到这一点:

    1. 服务器端跟踪将 .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/

    2. 安装一个名为 ASTrace 的社区维护服务,该服务使用 Profiler API(无 GUI)并将您选择的 Profiler 事件直接实时写入 SQL Server。 https://github.com/Microsoft/Analysis-Services/tree/master/AsTrace

    3. 记录 XEvent 并稍后分析它们: 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 代理中使用“SQL Server Analysis Services 命令”步骤类型并开始使用 PowerShell 步骤类型并执行以下操作。此示例使用 SessionTrace 从 PowerShell 运行 SSAS 备份,以监视该会话的所有“分析器”事件: https://gallery.technet.microsoft.com/scriptcenter/Backup-Ssas-Databases-with-da62b084

    【讨论】:

    • 非常感谢您的详细回答。我想这回答了是否存在任何日志的问题,答案是否定的。您提到的第一个选项对我来说似乎是最好的。我知道我迟早必须了解服务器端跟踪。我将把它打开一段时间。
    猜你喜欢
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多