Поскольку я уже знаю, как получить скорость процессора текущего сервера в SQL Сервер , и я могу узнать в последний раз SQL Служба сервера запущена и общий объем оперативной памяти на текущем сервере
Теперь я хотел бы знать, когда в последний раз текущий сервер перезагружался .
Это может быть полезным, так как мы делаем много исправлений из SQL экземпляров сервера.
Сначала я начал с этого скрипта - но у меня есть некоторые проблемы:
Где-объект не распознается как внутренняя или внешняя команда
declare @sql varchar(1008) set @sql = 'powershell.exe -command get-eventlog System ^| where-object {$_.EventID -eq "6005"} ^| sort -desc TimeGenerated' EXEC xp_cmdshell @sql
Но тогда я нашел лучший способ:
declare @sql varchar(1008) set @sql = 'powershell.exe -command Get-CimInstance -ClassName win32_operatingsystem ^| select csname, lastbootuptime' EXEC xp_cmdshell @sql
Обе команды запускаются вместе, я получаю следующие результаты :
Вопрос: есть ли более простой способ получить время последней перезагрузки на SQL сервере?
У меня будет чтобы манипулировать строками, мне действительно нужна желтая часть ниже, в datatime2(3) или любой другой SQL тип данных сервера t если я смогу прочитать и преобразовать в datatime2(3) или ок datetime.
datatime2(3)
datetime