В этой заметке я покажу несколько способов, как можно узнать дату и время запуска или перезапуска 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
Способ 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'
Способ 3 – Использование системной процедуры sp_readerrorlog
Существует ещё один, третий, менее распространённый способ определения даты запуска SQL сервера, он подразумевает чтение журнала регистрации ошибок с помощью системной процедуры sp_readerrorlog.
Чтобы узнать дату и время запуска SQL сервера с помощью sp_readerrorlog, необходимо выполнить следующую SQL инструкцию.
EXEC sp_readerrorlog 0,1,'SQL Server is Starting';
В перечисленных выше способах точное время может не совпадать, разница может достигать в несколько секунд.
Для определения даты запуска SQL Server Вы можете использовать любой из представленных выше способов, но предпочтительней, на мой взгляд, самый первый.
Заметка! Для комплексного изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL.
У меня на этом все, пока!