我正在对 Glenn Berry 出色的 DMV 查询进行一些修改!
但是,我想将“上次服务器重启”添加到结果集中,或者更具体地说,重置(所有,特定)DMV 的统计信息的日期/时间。
由于在查看统计数据时了解上次重置非常重要,因此我想绝对确保日期/时间准确并显示。
问题:如何获得最准确的日期/时间,何时重置/所有 DMV 统计信息?
谢谢!-D
我正在对 Glenn Berry 出色的 DMV 查询进行一些修改!
但是,我想将“上次服务器重启”添加到结果集中,或者更具体地说,重置(所有,特定)DMV 的统计信息的日期/时间。
由于在查看统计数据时了解上次重置非常重要,因此我想绝对确保日期/时间准确并显示。
问题:如何获得最准确的日期/时间,何时重置/所有 DMV 统计信息?
谢谢!-D
SELECT sqlserver_start_time FROM sys.dm_os_sys_info
使用先前的问题(不同的关键词),我最终使用了这种方法。与往常一样,由个人决定什么对他们来说是“最好的”!
SELECT create_date FROM sys.databases WHERE name = 'tempdb'
这将起作用,但您必须知道服务名称,它也仅适用于 R2 及更高版本
SELECT last_startup_time
FROM sys.dm_server_services
WHERE servicename = "Your Service name"
尽管这并不完全准确,因为您还可以通过 DB detach 或 DB close 重置 DB 特定视图。
还有两个可以在实时数据库上重置的视图sys.dm_os_latch_stats
和sys.dm_os_wait_stats
有很多方法可以检查 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' ;
有多种方法可以找出 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';