【问题标题】:Name of the user who has processed the cube处理多维数据集的用户名
【发布时间】:2018-08-30 12:35:46
【问题描述】:

有一段代码,我必须在其中获取处理多维数据集或对多维数据集结构进行任何更改的用户的用户名。

我在SSAS DMV 中搜索过,但没有找到我需要的;我只找到了最后处理的时间,但没有找到用户的名字。

有什么建议吗?

【问题讨论】:

    标签: ssas cube


    【解决方案1】:

    您可以使用扩展事件进行跟踪。添加用于处理的 ProgressReportBegin 和 ProgressReportEnd 事件。这些事件包括 NTUserName 和 StartTime 字段,您可以使用它们来查找处理多维数据集的人员和时间。处理多维数据集以捕获此事件时,需要运行扩展事件。以下是一个示例 XMLA 命令,当连接到 SSMS 中的 SSAS 数据库时可以运行该命令,以创建一个扩展事件,该事件跟踪多维数据集处理并将结果输出到文件。当然,其中许多选项只是默认设置,您可能需要根据需要进行调整。

    https://docs.microsoft.com/en-us/sql/analysis-services/instances/monitor-analysis-services-with-sql-server-extended-events?view=sql-server-2017

    <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
      <ObjectDefinition>
        <Trace>
          <ID>XE_Cube_Process</ID>
          <Name>XE_Cube_Process</Name>
          <XEvent xmlns="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
            <event_session name="XE_Cube_Process" dispatchLatency="0" maxEventSize="0" maxMemory="4" memoryPartition="none" eventRetentionMode="AllowSingleEventLoss" trackCausality="true" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
              <event package="AS" name="ProgressReportEnd" />
              <event package="AS" name="ProgressReportBegin" />
              <target package="package0" name="event_file">
                <parameter name="filename" value="C:\Test\XE_Cube_Process.xel" />
                <parameter name="max_file_size" value="4096" />
                <parameter name="max_rollover_files" value="10" />
                <parameter name="increment" value="1024" />
              </target>
            </event_session>
          </XEvent>
        </Trace>
      </ObjectDefinition>
    </Create>
    

    【讨论】:

    • 谢谢您的回复,请问有没有sql表可以看到这些信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多