Я пытаюсь получить время выполнения запроса, но я также хочу скрыть вывод запроса. Я просто хочу, чтобы истекшее время - без вывода.
пример
DECLARE @Start datetime
DECLARE @End datetime
SELECT @StartTimeWA=GETDATE()
SELECT
[id]
,[database_id]
,[proc_name]
,[exec_t] from
[DB].[dbo].[STAT]
SELECT @End=GETDATE()
SELECT DATEDIFF(MS,@Start,@End) AS [Duration]
На данный момент я получаю вывод запроса и, в конце концов, мою продолжительность, что является единственным, что я хочу, насколько вывод идет. Я не был в состоянии сделать это и задаюсь вопросом, сталкивался ли кто-нибудь еще с подобными проблемами? Это то, что я хочу сделать в T-SQL, а не в Management Studio или чем-то подобном.
Я пытаюсь отслеживать время, необходимое для выполнения оператора select и отправки отчета на сервер. У меня есть внешний сервер мониторинга, который будет запускать эту функцию каждую минуту и получать время назад (продолжительность, которое потребовалось), которое я буду использовать с течением времени для тренда / базовой линии. Поскольку текущий запрос выдает результаты выбора и мою продолжительность, он искажает его, и мой сервер мониторинга запутывается. Я просто хотел столбец продолжительности. Я также буду делать это для вставок, что будет просто, так как не нужно будет выполнять выборку.
Я пытаюсь сделать это чисто в T-SQL . Я не хочу использовать DMV, поскольку хочу получить время, которое требуется (моментальный снимок), когда я запускаю запрос, и проверяю, изменяется ли оно со временем, когда сервер проходит через различные уровни нагрузки, так как это даст мне хорошую идею относительно того, изменяется ли время выполнения запроса.
источник