Próbuję uzyskać czas wykonania zapytania, ale chcę również ukryć wynik zapytania. Chcę tylko upływu czasu - brak danych wyjściowych.
Przykład
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]
W tej chwili otrzymuję dane wyjściowe zapytania, a na dole mój czas trwania, co jest jedyną rzeczą, której chcę, jeśli chodzi o dane wyjściowe. Nie byłem w stanie tego zrobić i zastanawiam się, czy ktokolwiek napotkał podobne problemy? To jest coś, co chcę zrobić w T-SQL, a nie Management Studio lub coś podobnego.
Próbuję monitorować czas potrzebny na uruchomienie instrukcji select i zgłoszenie do serwera. Mam zewnętrzny serwer monitorowania, który będzie działał co minutę i odzyskał czas (czas trwania), który wykorzystam z czasem do trendu / linii bazowej. Gdy bieżące zapytanie wyrzuca wybrane wyniki, a mój czas trwania wypacza je, a mój serwer monitorowania się myli. Chciałem tylko kolumny czasu trwania. Zrobię to również dla wstawek, które będą proste, ponieważ nie będą musiały wykonywać wyboru.
Próbuję to zrobić wyłącznie w języku T-SQL . Nie chcę używać DMV, ponieważ chcę uzyskać czas (migawkę) podczas uruchamiania zapytania i sprawdzam, czy zmienia się to w czasie, gdy serwer przechodzi przez różne poziomy obciążenia, ponieważ da mi to dobry pomysł co do zmiany czasu wykonania zapytania.
źródło