有一个代码片段,我必须获得处理多维数据集或在多维数据集结构中进行任何更改的用户的用户名。
我在SSAS
DMV中搜索过,但没找到我需要的东西;我只找到了上次处理的时间,但没有找到用户的名字。
有什么建议?
您可以使用扩展事件跟踪此事件。添加要处理的ProgressReportBegin和ProgressReportEnd事件。这些事件包括NTUserName和StartTime字段,您可以使用这些字段查找处理多维数据集的人员以及何时处理。处理多维数据集以捕获此扩展事件时,需要运行扩展事件。以下是一个示例XMLA命令,可以在SSMS中连接到SSAS数据库时运行,以创建跟踪多维数据集处理并将结果输出到文件的扩展事件。当然,其中许多选项只是默认值,您可能需要根据需要进行调整。
<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>