NSQuantumPerformance (Transact-SQL)
Возвращает сведения о времени выполнения тактов приложений. В результирующем наборе группы тактов размещаются в соответствии со временем, необходимым для их выполнения. Отображается число тактов в различных диапазонах времени выполнения. Может оказаться полезной при устранении ошибок долго выполняющихся тактов.
Синтаксис
[ application_schema_name . ] NSQuantumPerformance
[ [ @ReportingInterval = ] interval ]
[, [ @SinceQuantumInitialized = ] since_init ]
Аргументы
[ @ReportingInterval = ] interval
Диапазон (в секундах) интервалов выполнения в результирующем наборе. Отчет содержит одну строку на интервал.Аргумент interval имеет тип int и значение по умолчанию 5, что означает пять секунд на интервал.
- [ @SinceQuantumInitialized = ] since_init
Указывает, включены ли в отчет такты, выполненные до переустановки часов тактового генератора с помощью хранимых процедур NSSetQuantumClock или NSSetQuantumClockDate. Аргумент since_init имеет тип tinyint и может иметь значения 0 или 1. По умолчанию его значение равно 1, что означает включение только тех тактовых периодов, которые были выполнены после последнего сброса. 0 включает тактовые периоды, предшествующие последнему сбросу.
Значения кодов возврата
Нет
Результирующие наборы
Имя столбца | Тип данных | Описание |
---|---|---|
MinimumExecutionTime |
int |
Выраженное в секундах время выполнения такта для нижней границы интервала выполнения. |
MaximumExecutionTime |
int |
Выраженное в секундах время выполнения такта для верхней границы интервала выполнения. |
CountOfQuantums |
int |
Число тактов, выполненных за время, большее или равное значению строки Minimum Execution Time, но меньшее, чем значение строки Maximum Execution Time. |
QuantumDuration |
nvarchar(255) |
Указывает, включает ли интервал для данной строки отчета более высокие значения времени, нежели длительность такта, определенная в файле определения приложения (ADF-файл). Если время выполнения такта превышает длительность такта, это приводит к запаздыванию генератора. Допустимые значения — Under, Over и Maybe over. |
ChronicleQuantumLimit |
nvarchar(255) |
Указывает, включает ли интервал для данной строки отчета более высокие значения времени, нежели результат умножения ChronicleQuantumLimit на QuantumDuration, (определенный в ADF-файле). Если время выполнения такта превышает данное значение, это может привести к пропуску обработки правил хроники. Допустимые значения — Under, Over и Maybe over. |
Ограничение SubscriptionQuantum |
nvarchar(255) |
Указывает, включает ли интервал для данной строки отчета более высокие значения времени, нежели результат умножения SubscriptionQuantumLimit на QuantumDuration, (определенный в ADF-файле). Если время выполнения такта превышает данное значение, это приводит к пропуску обработки правил подписки. Допустимые значения — Under, Over и Maybeover. |
Замечания
Microsoft SQL Server при создании служб Notification Services создает в базе данных приложения хранимую процедуру NSNotificationBatchDetails. При обновлении приложения службы Notification Services осуществляют повторную компиляцию этой хранимой процедуры.
Данная хранимая процедура находится в схеме приложения, которая задана элементом SchemaName файла определения приложения (ADF-файл). Если имя схемы не задано, схемой по умолчанию является dbo.
Значения QuantumDuration, ChronicleQuantumLimit и SubscriptionQuantumLimit указывают на то, была ли длительность тактов в период составления отчета большей или меньшей, чем предполагалось для данного приложения. Содержащиеся в этих столбцах данные имеют следующие значения.
- Значение Over указывает на то, что параметр MinimumExecutionTime превышает установленное ограничение такта; при выполнении всех тактов, перечисленных в строке, установленное ограничение было превышено.
- Значение Under указывает на то, что параметр MinimumExecutionTime имеет меньшее значение, нежели предел тактовой задержки; для выполнения всех перечисленных в строке тактов потребовалось меньше времени, чем предусмотрено установленным ограничением.
- Значение Maybe over указывает на то, что параметр MinimumExecutionTime имеет либо меньшее значение, нежели предел тактовой задержки, либо значение, равное ему, и что параметр MaximumExecutionTime имеет большее значение, нежели установленное ограничение такта, или значение, равное ему; возможно, что на выполнение некоторых тактов было затрачено больше времени, чем определено параметром MaximumExecutionTime.
Разрешения
По умолчанию разрешения на выполнение предоставляются членам роли базы данных NSAnalysis, фиксированной роли базы данных db_owner и фиксированной серверной роли sysadmin.
Примеры
A. Использование значений по умолчанию
В следующем примере показано, как составляется отчет о производительности такта с периодом составления отчета в 5 секунд и с использованием принимаемого по умолчанию значения аргумента @SinceQuantumInitialized. При этом учитываются только такты, обработанные после последней инициализации генератора тактов.
Приложение использует принимаемые по умолчанию настройки SchemaName; в результате все объекты приложения помещаются в схему dbo.
EXEC dbo.NSQuantumPerformance;
Б. Использование всех тактов и указание периода составления отчета
В следующем примере показано, как составляется отчет о производительности тактов с периодом составления отчета в 60 секунд и с включением в него тактов, обработанных до последней инициализации тактового генератора.
В этом примере хранимая процедура (как и все остальные объекты приложения) находится в схеме Stock, как указано в элементе SchemaName ADF-файла.
EXEC Stock.NSQuantumPerformance
@ReportingInterval = 60,
@SinceQuantumInitialized = 1;
См. также
Справочник
Хранимые процедуры служб Notification Services (Transact-SQL)
Другие ресурсы
Отчеты о производительности служб Notification Services
SchemaName Element (ADF)