2016-10-13 6 views
1

Я хочу создать SQL-модульные тесты для измерения времени выполнения моих хранимых процедур. Есть ли способ утверждать время продолжительности каждого исполнения?Assert Время выполнения хранимой процедуры MSSQL с tSQLt

Решение я использую, наконец:

--run моя хранимая процедура

exec mySP 

--get метрики

SELECT d.object_id, d.database_id, OBJECT_NAME(object_id, database_id) 'proc name', 
    d.cached_time, d.last_execution_time, d.total_elapsed_time, 
    d.total_elapsed_time/d.execution_count AS [avg_elapsed_time], 
    d.last_elapsed_time, d.execution_count 
FROM sys.dm_exec_procedure_stats AS d 
where OBJECT_NAME(object_id, database_id) = 'mySP' 
ORDER BY [total_worker_time] DESC; 

--Rum мои утверждения, основанные на last_elapsed_time и avg_elapsed_time

ответ

0

Вы можете посмотреть на sys.dm_exec_procedure_stats доступны SQLSERVER 2008..this DMV предоставляет некоторые Полезная информация как

enter image description here

Вы также можете посмотреть на SET STATISTICS TIME ON, а

set statistics time on 
exec usp_test 
set statistics time off 

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

SQL Server Execution Times: 
    CPU time = 171 ms, elapsed time = 5060 ms. 
+0

Большое спасибо. Это помогает. – Theonas

 Смежные вопросы

  • Нет связанных вопросов^_^