Поделиться через


Использование ExecutionLog и представления ExecutionLog3 в службах Reporting Services

Журнал выполнения сервера отчетов служб Reporting Services содержит сведения о отчетах, выполняемых на сервере или на нескольких серверах. Эти серверы находятся в развертывании в собственном режиме или ферме SharePoint. Чтобы узнать, можно использовать журнал выполнения отчета:

  • Количество запрошенных отчетов.
  • Какие форматы выходных данных чаще всего используются.
  • Время обработки, затраченное на каждый этап обработки в миллисекундах.

Журнал содержит сведения о продолжительности выполнения запроса набора данных отчета и времени, затраченного на обработку данных. Если вы являетесь администратором сервера отчетов, вы можете просмотреть сведения о журнале и определить длительные задачи. Вы также можете внести предложения авторам отчета в области набора данных или отчета обработки, которые они могли бы улучшить.

Серверы отчетов, настроенные для режима SharePoint, также могут использовать журналы Единой службы ведения журналов SharePoint (ULS). Дополнительные сведения см. в статье Включение событий служб Reporting Services для журнала трассировки SharePoint (ULS)

Просмотр сведений журнала

Сервер отчетов записывает данные о выполнении отчета в внутреннюю таблицу базы данных. Сведения, содержащиеся в этой таблице, могут быть получены из представлений SQL Server.

Журнал выполнения отчета хранится в базе данных сервера отчетов, которая по умолчанию носит имя ReportServer. Представления SQL отображают сведения журналов выполнения. Представления "2" и "3" были добавлены в более поздних выпусках и содержат новые поля, или они содержат поля с понятными именами, чем предыдущие выпуски. Старые представления остаются в продукте, поэтому пользовательские приложения, зависящие от них, не влияют. Если у вас нет зависимости от более старого представления, например ExecutionLog, следует использовать последнее представление ExecutionLog3.

Параметры конфигурации для сервера отчетов в режиме SharePoint

Вы можете включать и отключать ведение журнала выполнения отчета с помощью системных параметров для приложения службы Reporting Services.

По умолчанию записи журнала хранятся 60 суток. Записи, превышающие эту дату, удаляются в 2:00 каждый день. На зрелой установке доступно только 60 дней информации в любое время.

Нельзя задать ограничения на количество строк или тип записей, зарегистрированных в журнале.

Включение ведения журнала выполнения для сервера SharePoint

  1. В центре администрирования SharePoint выберите "Управление приложениями-службами" в группе управления приложениями.

  2. Выберите имя приложения службы Reporting Services, которое вы хотите настроить.

  3. Выберите Системные параметры.

  4. Выберите Включить ведение журнала выполнения в разделе Ведение журнала .

  5. Нажмите ОК.

Включение подробного ведения журнала для сервера SharePoint

Необходимо включить ведение журнала, как описано в предыдущих шагах, а затем выполнить следующие действия.

  1. На странице Системные параметры для приложения служб Reporting Services найдите раздел Определяемые пользователем.

  2. Измените значение параметра ExecutionLogLevel на подробный. Это поле представляет собой поле ввода текста, и двумя возможными значениями являются подробный и обычный.

Параметры конфигурации для сервера отчетов в собственном режиме

Предусмотрена возможность включать или отключать ведение журнала выполнения отчета на странице «Свойства сервера» в среде SQL Server Management Studio. EnableExecutionLogging — это дополнительное свойство.

По умолчанию записи журнала хранятся 60 суток. Записи, превышающие эту дату, удаляются в 2:00 каждый день. В зрелой установке в любое время доступны только 60 дней информации.

Нельзя задать ограничения на количество строк или тип записей, зарегистрированных в журнале.

Включение ведения журнала выполнения для сервера в собственном режиме

  1. Запустите среду SQL Server Management Studio с правами администратора. Например, щелкните правой кнопкой мыши значок Management Studio и выберите "Запуск от имени администратора".

  2. Установите соединение с требуемым сервером отчетов.

  3. Щелкните имя сервера правой кнопкой мыши и выберите пункт Свойства. Если параметр "Свойства" отключен, убедитесь, что вы запустили SQL Server Management Studio с правами администратора.

  4. Выберите страницу ведения журнала .

  5. Выберите Включить ведение журнала выполнения отчета.

Включение подробного ведения журнала для сервера в собственном режиме

Необходимо включить ведение журнала, как описано в предыдущих шагах, а затем выполнить следующие действия.

  1. В диалоговом окне "Свойства сервера" выберите страницу "Дополнительно".

  2. В разделе Определяемый пользователем измените значение ExecutionLogLevel на подробный. Это поле представляет собой поле ввода текста, и двумя возможными значениями являются подробный и обычный.

    Снимок экрана: диалоговое окно

Поля журнала (ExecutionLog3)

Это представление добавляет больше производительности диагностика узлов внутри столбца AdditionalInfo на основе XML. Столбец AdditionalInfo содержит XML-структуру 1 для многих полей информации. В следующем примере показана инструкция Transact SQL, которая извлекает строки из представления ExecutionLog3. В этом образце предполагается, что база данных сервера отчетов носит имя ReportServer:

Use ReportServer  
select * from ExecutionLog3 order by TimeStart DESC  

В следующей таблице описываются данные, которые записываются в журнале выполнения отчета.

Столбец Description
InstanceName Имя экземпляра сервера отчетов, обработавшего запрос. Если в применяемой среде имеется больше одного сервера отчетов, можно анализировать распределение InstanceName для контроля и определения того, распределяет ли программа уравновешивания сетевой нагрузки запросы по серверам отчетов в соответствии с ожидаемым.
ItemPath Путь, по которому сохраняется отчет или элемент отчета.
UserName Идентификатор пользователя.
ExecutionID Внутренний идентификатор, связанный с запросом. Запросы на одни и те же сеансы пользователей используют один и тот же идентификатор выполнения.
RequestType Возможные значения:

Интерактивный

Отток подписок



Анализ данных журнала, отфильтрованных и отсортированных RequestType=Subscription по TimeStart периоду использования тяжелых подписок, и может потребоваться изменить некоторые подписки отчета в другое время.
Формат Формат подготовки к просмотру.
Параметры Значения параметров, используемых при выполнении отчета.
ItemAction Возможные значения:

Render

Sort

BookMarkNavigation

DocumentNavigation

GetDocumentMap

Findstring

Execute

RenderEdit.
TimeStart Время начала и завершения обработки отчета, указывающее на его продолжительность.
TimeEnd
TimeDataRetrieval Количество миллисекунд, затраченных на выборку данных.
TimeProcessing Количество миллисекунд, затраченных на обработку отчета.
TimeRendering Количество миллисекунд, затраченных на подготовку отчета к просмотру.
Исходный код Источник выполнения отчета. Возможные значения:

Введено в действие

Кэш: указывает на кэшированное выполнение, например, запросы набора данных не выполняются в реальном времени.

Снимок

Журнал

AdHoc: указывает либо динамически созданную модель отчета на основе детализации по отчету. Он также может ссылаться на отчет построитель отчетов, который предварительно просматривается на клиенте, использующим сервер отчетов для обработки и отрисовки.

Сеанс. Указывает последующий запрос в уже установленном сеансе. Например, первоначальный запрос — просмотр страницы 1, а последующий запрос — экспортировать в Excel с текущим состоянием сеанса.

Расширение настройки определения отчета (RDCE): указывает расширение настройки определения отчета. Пользовательское расширение RDCE может динамически настраивать определение отчета до передачи определения обработчику обработки при выполнении отчета.
Состояние Состояние (либо rsSuccess, либо код ошибки. Если ошибок несколько, то записывается только первая).
ByteCount Размер отчетов, готовых для просмотра (в байтах).
RowCount Количество возвращенных по запросам строк.
AdditionalInfo Контейнер свойств XML, содержащий дополнительные сведения о выполнении. Содержимое может быть разным для каждой строки.

Поле AdditionalInfo

Поле AdditionalInfo — это контейнер свойств XML или структура, содержащая дополнительные сведения о выполнении. Содержимое может быть разным для каждой строки журнала.

Ниже приведены примеры содержимого поля AddtionalInfo для стандартного и подробного ведения журнала:

Пример столбца AddtionalInfo при стандартном ведении журнала

<AdditionalInfo>  
  <ProcessingEngine>2</ProcessingEngine>  
  <ScalabilityTime>  
    <Pagination>0</Pagination>  
    <Processing>0</Processing>  
  </ScalabilityTime>  
  <EstimatedMemoryUsageKB>  
    <Pagination>0</Pagination>  
    <Processing>6</Processing>  
  </EstimatedMemoryUsageKB>  
  <DataExtension>  
    <SQL>1</SQL>  
  </DataExtension>  
  <Connections>  
    <Connection>  
      <ConnectionOpenTime>147</ConnectionOpenTime>  
      <DataSets>  
        <DataSet>  
          <Name>DataSet1</Name>  
          <RowsRead>16</RowsRead>  
          <TotalTimeDataRetrieval>642</TotalTimeDataRetrieval>  
          <ExecuteReaderTime>63</ExecuteReaderTime>  
        </DataSet>  
        <DataSet>  
          <Name>DataSet2</Name>  
          <RowsRead>3</RowsRead>  
          <TotalTimeDataRetrieval>157</TotalTimeDataRetrieval>  
          <ExecuteReaderTime>60</ExecuteReaderTime>  
        </DataSet>  
      </DataSets>  
    </Connection>  
  </Connections>  
</AdditionalInfo>

Пример столбца AddtionalInfo при подробном ведении журнала

<AdditionalInfo>  
  <ProcessingEngine>2</ProcessingEngine>  
  <ScalabilityTime>  
    <Pagination>0</Pagination>  
    <Processing>0</Processing>  
  </ScalabilityTime>  
  <EstimatedMemoryUsageKB>  
    <Pagination>0</Pagination>  
    <Processing>6</Processing>  
  </EstimatedMemoryUsageKB>  
  <DataExtension>  
    <SQL>1</SQL>  
  </DataExtension>  
  <Connections>  
    <Connection>  
      <ConnectionOpenTime>127</ConnectionOpenTime>  
      <DataSource>  
        <Name>DataSource1</Name>  
        <DataExtension>SQL</DataExtension>  
      </DataSource>  
      <DataSets>  
        <DataSet>  
          <Name>DataSet1</Name>  
          <RowsRead>16</RowsRead>  
          <TotalTimeDataRetrieval>655</TotalTimeDataRetrieval>  
          <QueryPrepareAndExecutionTime>94</QueryPrepareAndExecutionTime>  
          <ExecuteReaderTime>33</ExecuteReaderTime>  
          <DataReaderMappingTime>30</DataReaderMappingTime>  
          <DisposeDataReaderTime>1</DisposeDataReaderTime>  
        </DataSet>  
        <DataSet>  
          <Name>DataSet2</Name>  
          <RowsRead>3</RowsRead>  
          <TotalTimeDataRetrieval>16</TotalTimeDataRetrieval>  
          <QueryPrepareAndExecutionTime>2</QueryPrepareAndExecutionTime>  
          <ExecuteReaderTime>1</ExecuteReaderTime>  
          <DataReaderMappingTime>0</DataReaderMappingTime>  
          <DisposeDataReaderTime>0</DisposeDataReaderTime>  
        </DataSet>  
      </DataSets>  
    </Connection>  
  </Connections>  
</AdditionalInfo>

В следующих примерах приведены некоторые значения, которые вы видите в поле AdditionalInfo :

  • ProcessingEngine

    Если большинство отчетов по-прежнему отображают значение 1, вы можете изучить, как изменить их таким образом, чтобы они использовали более новый и более эффективный обработчик обработки по запросу.

    1=SQL Server 2005, 2=The new On-demand Processing Engine
    
    <ProcessingEngine>2</ProcessingEngine>
    
  • ScalabilityTime

    Количество миллисекунд, затраченных на выполнение операций, связанных с масштабированием, в обрабатывающем ядре. Значение 0 указывает, что другое время не было потрачено на операции масштабирования, а 0 также указывает, что запрос не зависит от нагрузки на память.

    <ScalabilityTime>  
        <Processing>0</Processing>  
    </ScalabilityTime>  
    
  • EstimatedMemoryUsageKB

    Оценка пикового объема памяти в килобайтах, расходуемой каждым компонентом в течение конкретного запроса.

    <EstimatedMemoryUsageKB>  
        <Processing>38</Processing>  
    </EstimatedMemoryUsageKB>  
    
  • DataExtension

    Типы модулей обработки данных или источников данных, используемых в отчете. Это число показывает количество вхождений конкретного источника данных.

    <DataExtension>  
       <DAX>2</DAX>  
    </DataExtension>  
    
  • ExternalImages

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

    <ExternalImages>  
        <Count>3</Count>  
        <ByteCount>9268</ByteCount>  
        <ResourceFetchTime>9</ResourceFetchTime>  
    </ExternalImages>  
    
  • Подключения

    Многоуровневая структура

    <Connections>  
        <Connection>  
          <ConnectionOpenTime>127</ConnectionOpenTime>  
          <DataSource>  
            <Name>DataSource1</Name>  
            <DataExtension>SQL</DataExtension>  
          </DataSource>  
          <DataSets>  
            <DataSet>  
              <Name>DataSet1</Name>  
              <RowsRead>16</RowsRead>  
              <TotalTimeDataRetrieval>655</TotalTimeDataRetrieval>  
              <QueryPrepareAndExecutionTime>94</QueryPrepareAndExecutionTime>  
              <ExecuteReaderTime>33</ExecuteReaderTime>  
              <DataReaderMappingTime>30</DataReaderMappingTime>  
              <DisposeDataReaderTime>1</DisposeDataReaderTime>  
            </DataSet>  
            <DataSet>  
              <Name>DataSet2</Name>  
              <RowsRead>3</RowsRead>  
              <TotalTimeDataRetrieval>16</TotalTimeDataRetrieval>  
              <QueryPrepareAndExecutionTime>2</QueryPrepareAndExecutionTime>  
              <ExecuteReaderTime>1</ExecuteReaderTime>  
              <DataReaderMappingTime>0</DataReaderMappingTime>  
              <DisposeDataReaderTime>0</DisposeDataReaderTime>  
            </DataSet>  
          </DataSets>  
        </Connection>  
    </Connections>  
    
    

Поля журнала (ExecutionLog2)

В этом представлении добавлено несколько новых полей, а некоторые другие поля переименованы. Ниже приведен пример инструкции Transact SQL, которая извлекает строки из представления ExecutionLog2. В примере предполагается, что база данных сервера отчетов называется ReportServer:

Use ReportServer  
select * from ExecutionLog2 order by TimeStart DESC  

В следующей таблице описываются данные, которые записываются в журнале выполнения отчета.

Столбец Description
InstanceName Имя экземпляра сервера отчетов, обработавшего запрос.
ReportPath Структура пути к отчету. Отчет, сохраненный в корневой папке в качестве теста, содержит ReportPath /test.

Отчет с именем тест, сохраненный в примерах папок, будет иметь ReportPath/Samples/test/.
UserName Идентификатор пользователя.
ExecutionID
RequestType Тип запроса имеет значение user или system.
Формат Формат подготовки к просмотру.
Параметры Значения параметров, используемых при выполнении отчета.
ReportAction Возможные значения: Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring.
TimeStart Время начала, указывающее длительность процесса отчета.
TimeEnd Время окончания, указывающее длительность процесса отчета.
TimeDataRetrieval Количество миллисекунд, затраченных на выборку данных.
TimeProcessing Количество миллисекунд, затраченных на обработку отчета.
TimeRendering Количество миллисекунд, затраченных на подготовку отчета к просмотру.
Исходный код Источник выполнения отчета. Параметры: 1=Live, 2=Cache, 3=Snapshot4=History.
Состояние Состояние — это или rsSuccess код ошибки. Если происходит несколько ошибок, регистрируется только первая ошибка.
ByteCount Размер отчетов, готовых для просмотра (в байтах).
RowCount Количество возвращенных по запросам строк.
AdditionalInfo Контейнер свойств XML, содержащий дополнительные сведения о выполнении.

Поля журнала (ExecutionLog)

Ниже приведен пример инструкции Transact SQL, которая извлекает строки из представления ExecutionLog. В примере предполагается, что база данных сервера отчетов называется ReportServer:

Use ReportServer  
select * from ExecutionLog order by TimeStart DESC

В следующей таблице описываются данные, которые записываются в журнале выполнения отчета.

Столбец Description
InstanceName Имя экземпляра сервера отчетов, обработавшего запрос.
ReportID Идентификатор отчета.
UserName Идентификатор пользователя.
RequestType Возможные значения:

True = запрос на подписку

False= интерактивный запрос
Формат Формат подготовки к просмотру.
Параметры Значения параметров, используемых при выполнении отчета.
TimeStart Время начала и завершения обработки отчета, указывающее на его продолжительность.
TimeEnd
TimeDataRetrieval Число миллисекунд, затраченных на получение данных, обработку запроса и его подготовку.
TimeProcessing
TimeRendering
Исходный код Источник выполнения отчета. Возможные значения: (1=реальные данные, 2=кэш, 3=моментальный снимок, 4=журнал, 5=нерегламентированные данные, 6=сеанс, 7=RDCE).
Состояние Возможные значения: rsSuccessили rsProcessingAbortedкод ошибки. Если происходит несколько ошибок, регистрируется только первая ошибка.
ByteCount Размер отчетов, готовых для просмотра (в байтах).
RowCount Количество возвращенных по запросам строк.