2012-04-05 7 views
7

Używam pewnych modyfikacji do doskonałych zapytań DMV Glenna Berry'ego!Serwer Sql - jak uzyskać ostatni restart serwera (data/czas zresetowania DMV)

Chciałbym jednak dodać do zestawu wyników "ostatni restart serwera" lub, dokładniej, datę/czas, dla którego statystyki dla (wszystkich, konkretnych) DMV zostały zresetowane.

Ponieważ bardzo ważne jest, aby znać ostatnie resetowanie podczas przeglądania statystyk, chcę mieć absolutną pewność, że data/godzina jest dokładna i pokazana.

Pytanie: Jak można uzyskać najbardziej dokładną datę/godzinę, kiedy statystyka DMV została zresetowana?

Dzięki! -D

+0

Czasami trzeba być lepiej wiedząc, poprawny klucz-słów, aby sprawdzić, duplikat: http://stackoverflow.com/questions/1036824/find-out-how-long-the-sql -server-service-has-been-running-from-t-sql – dhartford

Odpowiedz

2

Będzie to działać, ale trzeba znać jego nazwę usługi również dostępny tylko z R2 i później

SELECT last_startup_time 
FROM sys.dm_server_services 
WHERE servicename = "Your Service name" 

Chociaż nie będzie to całkowicie dokładne, ponieważ można również zresetować DB konkretne poglądy przez odłączenie DB lub zamknięcie DB.

Ponadto istnieje two views that can be reset na live db sys.dm_os_latch_stats i sys.dm_os_wait_stats

9
SELECT sqlserver_start_time FROM sys.dm_os_sys_info 
+0

To będzie działać tylko z SQL Server 2008. – user1318325

0

Istnieje wiele sposobów, aby sprawdzić, kiedy został serwer SQL wznowiona po raz ostatni.

Wymienione poniżej zapytania SQL mogą zostać użyte do szybkiego wyszukania daty rozpoczęcia restartu serwera .

SELECT sqlserver_start_time FROM sys.dm_os_sys_info; 



SELECT login_time FROM sys.dm_exec_sessions WHERE session_id = 1; 



select start_time from sys.traces where is_default = 1 ; 



SELECT crdate FROM sysdatabases WHERE name='tempdb' ; 



SELECT create_date FROM sys.databases WHERE name = 'tempdb' ;