Журнал выполнения сервера отчетов и представление ExecutionLog3
Журнал выполнения для сервера отчетов содержит сведения об отчетах, выполняемых на сервере или на нескольких серверах при использовании масштабного развертывания в собственном режиме или фермы SharePoint. Журнал выполнения отчетов можно использовать для изучения частоты, с которой запрашивается отчет, частоты использования различных форматов вывода и времени обработки в миллисекундах, занимаемого каждой фазой обработки. Журнал содержит сведения о продолжительности времени, затраченного на выполнение запроса набора данных отчета, и времени, затраченного на обработку данных. Администраторы сервера отчетов могут просматривать информацию журнала, выявлять задачи, выполняющиеся продолжительное время, и вносить предложения для разработчиков отчетов в тех областях организации отчета (набор данных или обработка), в которых они могут проводить улучшения.
На серверах отчетов, настроенных для режима SharePoint, можно также использовать журналы ULS SharePoint. Дополнительные сведения см. в статье Включение событий служб Reporting Services для журнала трассировки SharePoint (ULS)
Просмотр данных журнала
Сервер отчетов записывает данные о выполнении отчетов во внутреннюю таблицу базы данных. Сведения, содержащиеся в этой таблице, могут быть получены из представлений SQL Server.
Журнал выполнения отчета хранится в базе данных сервера отчетов, которая по умолчанию носит имя ReportServer. Представления SQL отображают сведения журналов выполнения. Представления "2" и "3" были добавлены в последних выпусках и содержат новые поля или поля с более удобными именами, чем в предыдущих выпусках. Существовавшие ранее представления не исключены из состава продукта, поэтому зависящие от них пользовательские приложения не затрагиваются. При отсутствии зависимости от более старого представления, например ExecutionLog, рекомендуется использовать последнее по времени представление, ExecutionLog3.
В этом разделе:
Значения параметров конфигурации для сервера отчетов с режимом SharePoint
Значения параметров конфигурации для сервера отчетов с собственным режимом
Значения параметров конфигурации для сервера отчетов с режимом SharePoint
Вы можете включать и отключать ведение журнала выполнения отчета с помощью системных параметров для приложения службы Reporting Services.
По умолчанию записи журнала хранятся 60 суток. Записи с истекшим сроком хранения удаляются ежедневно в 02:00. При готовой установке в заданный момент времени доступны данные только за последние 60 дней.
Возможность ограничения количества строк или типа элементов, вносимых в журнал, отсутствует.
Включение ведения журнала выполнения.
В центре администрирования SharePoint щелкните Управление приложениями службы в группе Управление приложениями .
Щелкните имя приложения службы Reporting Services, которое требуется настроить.
Нажмите кнопку Системные параметры.
Выберите Включить ведение журнала выполнения в разделе Ведение журнала .
Нажмите кнопку ОК.
Включение подробного ведения журнала.
Необходимо включить ведение журнала, как описано в предыдущих шагах, а затем выполнить следующее:
На странице Системные параметры для приложения служб Reporting Services найдите раздел Определяемые пользователем.
Измените значение параметра ExecutionLogLevel на подробный. Это поле представляет собой поле ввода текста, и двумя возможными значениями являются подробный и обычный.
Значения параметров конфигурации для сервера отчетов с собственным режимом
Предусмотрена возможность включать или отключать ведение журнала выполнения отчета на странице «Свойства сервера» в среде SQL Server Management Studio. Свойство EnableExecutionLogging является расширенным.
По умолчанию записи журнала хранятся 60 суток. Записи с истекшим сроком хранения удаляются ежедневно в 02:00. При готовой установке в заданный момент времени доступны данные только за последние 60 дней.
Возможность ограничения количества строк или типа элементов, вносимых в журнал, отсутствует.
Включение ведения журнала выполнения.
Запустите среду SQL Server Management Studio с правами администратора. Например, щелкните правой кнопкой мыши значок среды Management Studio и выберите команду "Запуск от имени администратора".
Установите соединение с требуемым сервером отчетов.
Щелкните правой кнопкой мыши имя сервера и выберите пункт Свойства. Если параметр «Свойства» отключен, убедитесь в том, что запуск среды SQL Server Management Studio был выполнен с административными привилегиями.
Перейдите на страницу Ведение журнала .
Выберите Включить ведение журнала выполнения отчета.
Включение подробного ведения журнала.
Необходимо включить ведение журнала, как описано в предыдущих шагах, а затем выполнить следующее:
В окне Свойства сервера перейдите на страницу Дополнительно .
В разделе Определяемый пользователем измените значение ExecutionLogLevel на подробный. Это поле представляет собой поле ввода текста, и двумя возможными значениями являются подробный и обычный.
Поля журнала (ExecutionLog3)
Это представление добавило дополнительный узел диагностики производительности в столбец на основе XML AdditionalInfo . Столбец AdditionalInfo содержит XML-структуру дополнительных полей данных вида «один ко многим». Ниже приведен пример инструкции Transact SQL для выборки строк из представления ExecutionLog3. В этом образце предполагается, что база данных сервера отчетов носит имя ReportServer:
Use ReportServer
select * from ExecutionLog3 order by TimeStart DESC
В следующей таблице описаны данные, которые перехватываются в журнале выполнения отчетов
Столбец | Описание |
---|---|
InstanceName | Имя экземпляра сервера отчетов, обработавшего запрос. Если в применяемой среде имеется больше одного сервера отчетов, можно анализировать распределение InstanceName для контроля и определения того, распределяет ли программа уравновешивания сетевой нагрузки запросы по серверам отчетов в соответствии с ожидаемым. |
ItemPath | Путь, по которому сохраняется отчет или элемент отчета. |
UserName | Идентификатор пользователя. |
ExecutionID | Внутренний идентификатор, связанный с запросом. Запросы, выполняемые в рамках одного сеанса пользователя, имеют одинаковый идентификатор выполнения. |
RequestType | Возможные значения: Интерактивный Подписка Анализ данных журнала, отфильтрованных по значению RequestType=Subscription и отсортированных по значению TimeStart, может показать периоды интенсивной нагрузки на подписку, и может потребоваться изменить параметры некоторых подписок на отчет для другого вызова. |
Формат | Формат подготовки к просмотру. |
Параметры | Значения параметров, используемых при выполнении отчета. |
ItemAction | Возможные значения: Прорисовка Sort BookMarkNavigation DocumentNavigation GetDocumentMap Findstring Execute RenderEdit |
TimeStart | Время начала и завершения обработки отчета, указывающее на его продолжительность. |
TimeEnd | |
TimeDataRetrieval | Количество миллисекунд, затраченных на выборку данных. |
TimeProcessing | Количество миллисекунд, затраченных на обработку отчета. |
TimeRendering | Количество миллисекунд, затраченных на подготовку отчета к просмотру. |
Источник | Источник выполнения отчета. Возможные значения: Live Кэш: указывает на кэшированное выполнение, например, запросы набора данных не выполняются в режиме реального времени. Моментальный снимок Журнал AdHoc: указывает либо динамически созданный отчет на основе модели отчета детализации, либо отчет Report Builder, предварительно просматриваемый на клиенте, использующим сервер отчетов для обработки и подготовки к просмотру. Сеанс: указывает на дальнейший запрос в уже установленном сеансе. Например, первоначальный запрос был на просмотр страницы 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 = SQL Server 2005, 2 = новый обработчик обработки по запросу. Если в большинстве отчетов все еще отображается значение 1, можно изучить вопрос о том, как их перепроектировать в целях применения более нового и более эффективного ядра обработки по требованию.
<ProcessingEngine>2</ProcessingEngine>
Масштабируемость: количество миллисекундах, затраченное на выполнение связанных с масштабированием операций в обработчике обработки. Значение 0 указывает, что на операции масштабирования не было затрачено дополнительное время, а также свидетельствует о том, что запрос не выполнялся в условиях нехватки памяти.
<ScalabilityTime> <Processing>0</Processing> </ScalabilityTime>
EstimatedMemoryUsageKB: оценка пикового объема памяти в килобайтах, потребляемого каждым компонентом во время определенного запроса.
<EstimatedMemoryUsageKB> <Processing>38</Processing> </EstimatedMemoryUsageKB>
DataExtension: типы модулей данных или источников данных, используемых в отчете. Это число показывает количество вхождений конкретного источника данных.
<DataExtension> <DAX>2</DAX> </DataExtension>
ExternalImagesЗначение в миллисекундах. Эти данные могут использоваться для диагностики проблем производительности. Время, необходимое для получения изображений от внешнего веб-сервера, может замедлить выполнение отчета в целом. Добавлено в SQL Server 2012 г.
<ExternalImages> <Count>3</Count> <ByteCount>9268</ByteCount> <ResourceFetchTime>9</ResourceFetchTime> </ExternalImages>
Подключения: многоуровневая структура. Добавлено в SQL Server 2012 г.
<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
В следующей таблице описаны данные, которые перехватываются в журнале выполнения отчетов
Столбец | Описание |
---|---|
InstanceName | Имя экземпляра сервера отчетов, обработавшего запрос. |
ReportPath | Структура пути к отчету. Например, отчет с именем test, который находится в корневом каталоге в диспетчере отчетов, будет иметь значение ReportPath, равное "/test". Отчет с именем test, который сохранен в папке samples в диспетчере отчетов, будет иметь значение ReportPath, равное "/Samples/test/". |
UserName | Идентификатор пользователя. |
ExecutionID | |
RequestType | Тип запроса (пользовательский или системный). |
Формат | Формат подготовки к просмотру. |
Параметры | Значения параметров, используемых при выполнении отчета. |
ReportAction | Возможные значения: Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring |
TimeStart | Время начала и завершения обработки отчета, указывающее на его продолжительность. |
TimeEnd | |
TimeDataRetrieval | Число миллисекунд, затраченных на получение данных, обработку запроса и его подготовку. |
TimeProcessing | |
TimeRendering | |
Источник | Источник выполнения запроса (1 = напрямую, 2 = кэш, 3 = моментальный снимок, 4 = журнал). |
Состояние | Состояние (либо rsSuccess, либо код ошибки. Если ошибок несколько, то записывается только первая). |
ByteCount | Размер отчетов, готовых для просмотра (в байтах). |
RowCount | Количество возвращенных по запросам строк. |
AdditionalInfo | Контейнер свойств XML, содержащий дополнительные сведения о выполнении. |
Поля журнала (ExecutionLog)
Ниже приведен пример инструкции Transact SQL для выборки строк из представления ExecutionLog. В этом образце предполагается, что база данных сервера отчетов носит имя ReportServer:
Use ReportServer
select * from ExecutionLog order by TimeStart DESC
В следующей таблице описаны данные, которые перехватываются в журнале выполнения отчетов
Столбец | Описание |
---|---|
InstanceName | Имя экземпляра сервера отчетов, обработавшего запрос. |
ReportID | Идентификатор отчета. |
UserName | Идентификатор пользователя. |
RequestType | Возможные значения: True = запрос на подписку False= интерактивный запрос |
Формат | Формат подготовки к просмотру. |
Параметры | Значения параметров, используемых при выполнении отчета. |
TimeStart | Время начала и завершения обработки отчета, указывающее на его продолжительность. |
TimeEnd | |
TimeDataRetrieval | Число миллисекунд, затраченных на получение данных, обработку запроса и его подготовку. |
TimeProcessing | |
TimeRendering | |
Источник | Источник выполнения отчета. Возможные значения: (1 = реальные данные, 2 = кэш, 3 = моментальный снимок, 4 = журнал, 5 = нерегламентированные данные, 6 = данные сеанса, 7 = данные RDCE). |
Состояние | Возможные значения: rsSuccess, rsProcessingAborted или код ошибки. Если происходит несколько ошибок, регистрируется только первая ошибка. |
ByteCount | Размер отчетов, готовых для просмотра (в байтах). |
RowCount | Количество возвращенных по запросам строк. |
См. также:
Включение событий служб Reporting Services для журнала трассировки SharePoint (ULS)
Файлы и источники журналов Reporting Services
Справочник по ошибкам и событиям (службы Reporting Services)