pirmdiena, 2011. gada 7. novembris

Kad SQL Server tika pārstartēts (SQL Server UpTime)?

Kā uzzināt, kad SQL Server tika pārstartēts?

Priekšvēsture rakstam
Rakstā "Piemērs: ko iesākt ar to, ko zinām par indeksiem?" tika dodas dažas idejas kādu informāciju var iegūt no DMV skatiem un funkcijām un kā to attēlot. Rakstā apvienota iegūtā informācija par indeksu stāvokli (Informācijas par indeksiem apskatīšana) ar operacionālo informāciju par indeksu izmantošanu (Kuri indeksi tiek izmantoti?) kopš pēdējās servera pārstartēšanas reizes, vai brīža, kad objekts vairs nav SQL Server kešatmiņā. Ja objekts nav kešatmiņā, tad tas visdrīzāk netiek bieži izmantots, līdz ar to mazāk interesants.

Tā kā tiek uzkrāta informāciju par SQL Servera darbību, tad interesē arī brīdis, no kura šī informācija ir uzkrāta- jo pēc pārstartēšanas indeksu lietošanas operacionālā informācija ir dzēsta (lai būtu korektāk piebildīšu- tā var tikt dzēsta arī savādākos ceļos).

Pie lietas
Brīdi, kad SQL Server tiek pārstartēts, var uzzināt izmantojot tempdb īpašību- tā tiek izveidota no jauna katru reizi, kad SQL Server tiek pārstartēts.

Informāciju par datu bāzes izveides brīdi var iegūt no CV (Catalog Views) skata sys.databases. Kolonnā "create_date" tiek glabās datums, kad datu bāze izveidota. Ja tā ir TemDB, tad šis datums sakrīt ar pēdējo SQL Server pārstartēšanas reizi. Tātad:
SELECT create_date ServerisStradaKops
FROM sys.databases
WHERE NAME='tempdb'
[2011-11-07 papildināts] Sākot ar SQL Server 2008, var izmantot katalogu skatu sys.dm_os_sys_info. Tajā ir nākusi klāt kolonna "sqlserver_start_time".
SELECT sqlserver_start_time
FROM sys.dm_os_sys_info

Nav komentāru:

Komentāra publicēšana