Имя пользователя, который обработал куб - PullRequest
0 голосов
/ 30 августа 2018

Существует фрагмент кода, в котором я должен получить имя пользователя, который обработал куб или внес какие-либо изменения в структуру куба.

Я искал в SSAS DMV, но не нашел то, что мне было нужно; Я нашел только последнее обработанное время, но не имя пользователя.

Есть предложения?

1 Ответ

0 голосов
/ 30 августа 2018

Вы можете отслеживать это с помощью расширенного события. Добавьте события ProgressReportBegin и ProgressReportEnd, предназначенные для обработки. Эти события включают в себя поля NTUserName и StartTime, которые можно использовать для определения, кто и когда обработал куб. Расширенное событие должно быть запущено при обработке куба, чтобы захватить это. Ниже приведен пример команды XMLA, которую можно запустить при подключении к базе данных SSAS в SSMS для создания расширенного события, которое отслеживает обработку куба и выводит результаты в файл. Конечно, многие из этих опций являются просто настройками по умолчанию, и вы можете внести коррективы по мере необходимости.

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>
...