datagod Asked: 2013-08-01 07:06:29 +0800 CST2013-08-01 07:06:29 +0800 CST 2013-08-01 07:06:29 +0800 CST 如何使用 T-SQL 确定 Windows Server 启动时间 772 我正在寻找一种方法来找出 Windows Server 上次仅使用 t-sql 命令启动的时间。 我试图保持默认的安全配置(即我不想启用 xp_cmdshell) sql-server sql-server-2008 3 个回答 Voted Best Answer swasheck 2013-08-01T07:15:07+08:002013-08-01T07:15:07+08:00 您可以使用 中的ms_ticks列sys.dm_os_sys_info。这是自计算机启动以来的毫秒数。 SELECT DATEADD(SECOND, (ms_ticks/1000)*(-1), GETDATE()) FROM sys.dm_os_sys_info 会给你这个信息。 Kin Shah 2013-08-01T07:42:38+08:002013-08-01T07:42:38+08:00 另一种方法sys.dm_os_sys_info是使用 sys.dm_io_virtual_file_stats --> 列sample_ms -> 自计算机启动以来的毫秒数 -- find windows server restart date: SELECT DATEADD(ms,-sample_ms,GETDATE() )AS StartTime FROM sys.dm_io_virtual_file_stats(1,1); Ozziemedes 2013-08-01T23:50:33+08:002013-08-01T23:50:33+08:00 也许您应该使用 Powershell 而不是 T-SQL 来构建您使用此信息的任何内容?有关详细信息,请参阅MSDN 上的 SQL Server Powershell 提供程序。 您可以使用 SQLPS 执行所需的任何数据库查询,同时仍使用 PowerShell 访问您可能需要的所有 WMI 对象。
您可以使用 中的
ms_ticks
列sys.dm_os_sys_info
。这是自计算机启动以来的毫秒数。会给你这个信息。
另一种方法
sys.dm_os_sys_info
是使用sys.dm_io_virtual_file_stats --> 列sample_ms -> 自计算机启动以来的毫秒数
也许您应该使用 Powershell 而不是 T-SQL 来构建您使用此信息的任何内容?有关详细信息,请参阅MSDN 上的 SQL Server Powershell 提供程序。
您可以使用 SQLPS 执行所需的任何数据库查询,同时仍使用 PowerShell 访问您可能需要的所有 WMI 对象。