Журнал выполнения сервера отчетов и представление ExecutionLog3
Журнал выполнения для сервера отчетов содержит сведения об отчетах, выполняемых на сервере или на нескольких серверах при использовании масштабного развертывания. Журнал выполнения отчетов можно использовать для исследования частоты, с которой запрашивается отчет, частоты использования различных форматов и времени обработки в миллисекундах, занимаемого каждой фазой обработки. Журнал содержит сведения о том, сколько времени затрачено на выполнение запроса к набору данных отчета и на обработку данных. Администратор сервера отчетов может просматривать данные в журнале, выявлять долго выполняющиеся задачи и представлять авторам отчетов рекомендации по конкретным вопросам (наборы данных или обработка), где может потребоваться их доработка.
Сервер отчетов, настроенный для режима интеграции с SharePoint, может использовать журналы SharePoint ULS. Дополнительные сведения см. в разделе Как включить события служб Reporting Services в журнал трассировки SharePoint (ULC).
Просмотр данных журнала
Сервер отчета записывает данные о выполнении отчетов во внутреннюю таблицу базы данных. Сведения из таблицы доступны через представления SQL Server.
Журнал выполнения отчетов сохраняется в базе данных на сервере отчетов, которая по умолчанию имеет имя ReportServer. В следующих представлениях SQL содержатся сведения журнала выполнения. В последних версиях добавлены представления «2» и «3», которые содержат новые поля или поля с более понятными именами, чем в предыдущих версиях. Более старые представления также остались в продукте, с ними могли работать ранее написанные приложения. При отсутствии зависимости от старого представления (например, ExecutionLog) рекомендуется пользоваться его новой версией, то есть ExecutionLog3.
Значения параметров конфигурации для журнала выполнения сервера отчетов
Вывод сведений о выполнении отчетов в журнал можно включить или отключить на странице «Свойства сервера» в среде SQL Server Management Studio.
По умолчанию записи журнала хранятся 60 суток. Записи с истекшим сроком хранения удаляются ежедневно в 02:00. При готовой установке в заданный момент времени доступны данные только за последние 60 дней.
ExecutionLog3
Поле AdditionalInfo
ExecutionLog2
ExecutionLog
Возможность ограничения количества строк или типа элементов, вносимых в журнал, отсутствует. Тем не менее, можно создавать отчеты, получающие данные из журнала, которые необходимо отслеживать.
Поля журнала (ExecutionLog3)
В этом представлении добавлены новые поля, в том числе 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 |
Возможные значения:
|
TimeStart |
Время начала и завершения обработки отчета, указывающее на его продолжительность. |
TimeEnd |
|
TimeDataRetrieval |
Число миллисекунд, затраченных на получение данных, обработку запроса и его подготовку. |
TimeProcessing |
|
TimeRendering |
|
Source |
Источник выполнения запроса (1 = напрямую, 2 = кэш, 3 = моментальный снимок, 4 = журнал). |
Status |
Состояние (либо rsSuccess, либо код ошибки. Если ошибок несколько, то записывается только первая). |
ByteCount |
Размер отчетов, готовых для просмотра (в байтах). |
RowCount |
Количество возвращенных по запросам строк. |
AdditionalInfo |
Контейнер свойств XML, содержащий дополнительные сведения о выполнении. Содержимое может быть различным для каждой строки. |
В начало
AdditionalInfo
Ниже представлен пример такого кода:
<AdditionalInfo>
<ProcessingEngine>2</ProcessingEngine>
<ScalabilityTime>
<Pagination>0</Pagination>
<Processing>0</Processing>
</ScalabilityTime>
<EstimatedMemoryUsageKB>
<Pagination>4</Pagination>
<Processing>18</Processing>
</EstimatedMemoryUsageKB>
<DataExtension>
<SQL>1</SQL>
</DataExtension>
</AdditionalInfo>
В следующей таблице описаны некоторые значения, показанные в таблице AdditionalInfo.
Свойство |
Примечания |
---|---|
ProcessingEngine |
1=SQL Server 2005, 2=новое ядро с возможностью обработки по требованию. Если в большинстве ваших отчетов по-прежнему отображается значение 1, то можно выяснить, как именно их можно переработать, чтобы они могли обрабатываться новым и более эффективным ядром обработки по запросу. |
ScalabilityTime |
Время в миллисекундах, которое затрачивается для выполнения в ядре обработки операций, связанных с масштабом. Значение 0 указывает, что для операций с масштабом дополнительное время не затрачено, а также указывает на то, что для обработки запроса хватило памяти. |
EstimatedMemoryUsageKB |
Оценка пикового объема памяти в килобайтах, используемого каждым компонентом во время конкретного запроса. |
DataExtension |
Типы модулей обработки данных или источников данных, используемых в отчете. Число, представляющее число вхождений для конкретного источника данных. |
В начало
Поля журнала (ExecutionLog2)
В этом представлении добавлены новые поля, в том числе AdditionalInfo, которое содержит XML-структуру, состоящую из одного или нескольких дополнительных информационных полей. Ниже представлена простая инструкция Transact SQL для извлечения полей из представления ExecutionLog2. В этом примере предполагается, что база данных сервера отчетов называется ReportServer:
Use ReportServer
select * from ExecutionLog2 order by TimeStart DESC
В следующей таблице приведены данные, которые фиксируются в журнале выполнения отчетов
Столбец |
Описание |
---|---|
InstanceName |
Имя экземпляра сервера отчетов, обработавшего запрос. |
ReportPath |
Структура пути к отчету. Например, отчет с именем «test», находящийся в корневой папке Report Manager, будет иметь структуру пути ReportPath «/test». Отчет с именем «тест», сохраненный в папке «Samples» в Report Manager, будет иметь структуру пути ReportPath «/Samples/test». |
UserName |
Идентификатор пользователя. |
ExecutionID |
|
RequestType |
Тип запроса (пользовательский или системный). |
Формат |
Формат подготовки к просмотру. |
Параметры |
Значения аргументов, используемых при выполнении отчета. |
ReportAction |
Возможные значения: Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring |
TimeStart |
Время начала и завершения обработки отчета, указывающее на его продолжительность. |
TimeEnd |
|
TimeDataRetrieval |
Число миллисекунд, затраченных на получение данных, обработку запроса и его подготовку. |
TimeProcessing |
|
TimeRendering |
|
Source |
Источник выполнения запроса (1 = напрямую, 2 = кэш, 3 = моментальный снимок, 4 = журнал). |
Status |
Состояние (либо 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 |
|
Source |
Источник выполнения отчета Возможные значения: (1=Live, 2=Cache, 3=Snapshot, 4=History, 5=Adhoc, 6=Session, 7=RDCE). |
Status |
Возможные значения: rsSuccess, rsProcessingAborted или код ошибки. Если возникло несколько ошибок, то записывается только первая. |
ByteCount |
Размер отчетов, готовых для просмотра (в байтах). |
RowCount |
Количество возвращенных по запросам строк. |
В начало
См. также
Основные понятия
Журнал изменений
Журнал изменений:
Дата |
Изменение |
сентябрь 2011 г. |
Информация, добавленная в двух более новых представлениях, и простой синтаксис для извлечения строк из представлений. |