0

由于我已经知道如何在 SQL Server 中获取当前服务器的 CPU 速度,并且我可以找出SQL Server 服务上次启动的时间以及当前服务器上的总 RAM 内存

现在我想知道当前服务器最后一次重新启动是什么时候。

这很有用,因为我们对 SQL Server 实例进行了大量修补

首先我从这个脚本开始 - 但我有一些问题:

Where-Object 未被识别为内部或外部命令

 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 Server 中的上次重启时间?

我将不得不进行字符串操作,我真正想要的是下面的黄色部分,转换为datatime2(3)我可以读取和转换的任何其他 SQL Server 数据类型,datatime2(3)或者datetime可以。

在此处输入图像描述

4

0 回答 0