Как узнать дату и время запуска или перезапуска Microsoft SQL Server?

В этой заметке я покажу несколько способов, как можно узнать дату и время запуска или перезапуска Microsoft SQL Server, так как иногда данная информация бывает очень полезной.

Как узнать дату и время запуска или перезапуска Microsoft SQL Server

Итак, если у Вас возникала необходимость узнать дату и время запуска SQL Server, то это можно сделать несколькими способами, и все эти способы подразумевают написание простых SQL запросов.

Способ 1 – Использование системного представления sys.dm_os_sys_info

Первый и, наверное, самый распространённый вариант заключается в использовании системного представления sys.dm_os_sys_info, в котором есть специальный столбец с датой и временем запуска SQL Server.

sys.dm_os_sys_info – системное представление, которое возвращает набор сведений о компьютере и ресурсах, доступных для служб SQL Server.

В представлении sys.dm_os_sys_info есть столбец sqlserver_start_time, значение в котором и является датой и временем запуска Microsoft SQL Server. Так, для того чтобы узнать время запуска SQL сервера, нам нужно просто извлечь это значение, послав простой SQL запрос SELECT.

   
   SELECT sqlserver_start_time
   FROM sys.dm_os_sys_info

Скриншот 1

Способ 2 – Использование системного представления sys.databases

Второй способ, который также можно использовать, заключается в том, что мы просто узнаем дату и время создания системной базы данных tempdb, так как эта база данных создается каждый раз, когда запускается SQL сервер.

tempdb – это база данных для временных объектов.

Чтобы узнать дату создания базы данных, можно использовать системное представление sys.databases, которое возвращает достаточно много сведений о базе данных, включая дату создания, столбец create_date. Еще один пример использования этого представления можете посмотреть в статье – Как получить список баз данных в Microsoft SQL Server на T-SQL?

Таким образом, для того чтобы узнать дату и время старта SQL Server, запускаем следующий SQL запрос.

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

Скриншот 2

Способ 3 – Использование системной процедуры sp_readerrorlog

Существует ещё один, третий, менее распространённый способ определения даты запуска SQL сервера, он подразумевает чтение журнала регистрации ошибок с помощью системной процедуры sp_readerrorlog.

Чтобы узнать дату и время запуска SQL сервера с помощью sp_readerrorlog, необходимо выполнить следующую SQL инструкцию.

   
   EXEC sp_readerrorlog 0,1,'SQL Server is Starting';
   

Скриншот 2

В перечисленных выше способах точное время может не совпадать, разница может достигать в несколько секунд.

Для определения даты запуска SQL Server Вы можете использовать любой из представленных выше способов, но предпочтительней, на мой взгляд, самый первый.

Если Вам интересен язык T-SQL, то рекомендую почитать мою книгу «Путь программиста T-SQL» — это самоучитель по данному языку для начинающих.

У меня на этом все, пока!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.