Использование 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
В центре администрирования SharePoint выберите "Управление приложениями-службами" в группе управления приложениями.
Выберите имя приложения службы Reporting Services, которое вы хотите настроить.
Выберите Системные параметры.
Выберите Включить ведение журнала выполнения в разделе Ведение журнала .
Нажмите ОК.
Включение подробного ведения журнала для сервера SharePoint
Необходимо включить ведение журнала, как описано в предыдущих шагах, а затем выполнить следующие действия.
На странице Системные параметры для приложения служб Reporting Services найдите раздел Определяемые пользователем.
Измените значение параметра ExecutionLogLevel на подробный. Это поле представляет собой поле ввода текста, и двумя возможными значениями являются подробный и обычный.
Параметры конфигурации для сервера отчетов в собственном режиме
Предусмотрена возможность включать или отключать ведение журнала выполнения отчета на странице «Свойства сервера» в среде SQL Server Management Studio. EnableExecutionLogging — это дополнительное свойство.
По умолчанию записи журнала хранятся 60 суток. Записи, превышающие эту дату, удаляются в 2:00 каждый день. В зрелой установке в любое время доступны только 60 дней информации.
Нельзя задать ограничения на количество строк или тип записей, зарегистрированных в журнале.
Включение ведения журнала выполнения для сервера в собственном режиме
Запустите среду SQL Server Management Studio с правами администратора. Например, щелкните правой кнопкой мыши значок Management Studio и выберите "Запуск от имени администратора".
Установите соединение с требуемым сервером отчетов.
Щелкните имя сервера правой кнопкой мыши и выберите пункт Свойства. Если параметр "Свойства" отключен, убедитесь, что вы запустили SQL Server Management Studio с правами администратора.
Выберите страницу ведения журнала .
Выберите Включить ведение журнала выполнения отчета.
Включение подробного ведения журнала для сервера в собственном режиме
Необходимо включить ведение журнала, как описано в предыдущих шагах, а затем выполнить следующие действия.
В диалоговом окне "Свойства сервера" выберите страницу "Дополнительно".
В разделе Определяемый пользователем измените значение 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=Snapshot 4=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 | Количество возвращенных по запросам строк. |