9

我正在对 Glenn Berry 出色的 DMV 查询进行一些修改!

但是,我想将“上次服务器重启”添加到结果集中,或者更具体地说,重置(所有,特定)DMV 的统计信息的日期/时间。

由于在查看统计数据时了解上次重置非常重要,因此我想绝对确保日期/时间准确并显示。

问题:如何获得最准确的日期/时间,何时重置/所有 DMV 统计信息?

谢谢!-D

4

5 回答 5

13
SELECT sqlserver_start_time FROM sys.dm_os_sys_info
于 2012-07-11T22:13:42.153 回答
8

使用先前的问题(不同的关键词),我最终使用了这种方法。与往常一样,由个人决定什么对他们来说是“最好的”!

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

来源:查看sql server服务运行了多长时间,来自t-sql

于 2012-04-16T15:02:32.127 回答
2

这将起作用,但您必须知道服务名称,它也仅适用于 R2 及更高版本

SELECT last_startup_time 
FROM   sys.dm_server_services 
WHERE  servicename = "Your Service name" 

尽管这并不完全准确,因为您还可以通过 DB detach 或 DB close 重置 DB 特定视图。

还有两个可以在实时数据库上重置的视图sys.dm_os_latch_statssys.dm_os_wait_stats

于 2012-04-05T15:44:50.560 回答
0

有很多方法可以检查 SQL Server 上次重新启动的时间。

下面提到的 SQL 查询可用于快速找出服务器重启日期时间。

 SELECT sqlserver_start_time FROM sys.dm_os_sys_info;  



SELECT login_time FROM sys.dm_exec_sessions WHERE session_id = 1;  



 select start_time from sys.traces where is_default = 1  ;



 SELECT crdate FROM sysdatabases WHERE name='tempdb'  ;



 SELECT create_date FROM sys.databases WHERE name = 'tempdb' ;
于 2017-05-17T10:04:38.863 回答
0

有多种方法可以找出 SQL Server 重新启动时间。以下是返回服务器重启日期的代码:

SELECT sqlserver_start_time FROM sys.dm_os_sys_info;  
SELECT login_time FROM sys.dm_exec_sessions WHERE session_id = 1; 
SELECT start_time from sys.traces where is_default = 1;
SELECT crdate FROM sysdatabases WHERE name='tempdb';
SELECT create_date FROM sys.databases WHERE name = 'tempdb';
于 2019-10-04T17:44:58.490 回答