首页 > 数据库 >SQL Server如何查看SQL Server服务启动时间

SQL Server如何查看SQL Server服务启动时间

时间:2023-01-11 10:25:12浏览次数:34  
标签:查看 启动 time 视图 Server sys SQL

SQL Server数据库中,我们想查看SQL Server实例的启动时间以及SQL Server Agent服务的启动时间,有哪一些方法和技巧呢? 下面总结一些查看SQL Server实例和SQL Server Agent服务启动时间的方法。

查看SQL Server实例启动时间

如果要查询SQL Server实例的启动时间,我们可以使用下面多种方法去查看。有些方法有条件限制,仅供参考。

方法1:

通过查看系统动态管理视图sys.dm_server_services, 这个视图中,有个字段last_startup_time表示上次启动服务的日期和时间。

SELECT  servicename ,
        process_id ,
        startup_type_desc ,
        status_desc ,
        last_startup_time ,
        service_account ,
        is_clustered ,
        cluster_nodename ,
        [filename]
FROM    sys.dm_server_services WITH ( NOLOCK )
OPTION  ( RECOMPILE );

方法2:

SQL Server服务每次启动的时候,都会重新创建tempdb数据库,所以可以根据tempdb数据库的创建时间来判断SQL Server实例的启动时间

--系统数据库tempdb创建的时间
SELECT CREATE_DATE AS StartDateTime
FROM sys.databases
WHERE NAME='tempdb'

方法3:

通过查看系统兼容性视图master..sysprocesses获取SQL Server服务启动时间,会话ID为的1会话是SQL Server服务启动时创建的。

SELECT CONVERT(VARCHAR(30), LOGIN_TIME,120) AS StartDateTime
FROM master..sysprocesses WHERE spid=1;

方法4:

通过查看DMV视图sys.dm_os_sys_info获取, 这个动态管理视图中的字段sqlserver_start_time 表示SQL Server上次启动时的日期和时间

SELECT sqlserver_start_time AS StartDateTime
FROM sys.dm_os_sys_info

方法5:

通过查看DMV sys.dm_exec_requests获取 。会话ID为1的会话是SQL Server启动时创建的。它的start_time(请求到达时的时间戳)可以判定SQL Server服务启动的时间。

SELECT start_time AS StartDateTime 
FROM sys.dm_exec_requests WHERE session_id = 1

方法6:

通过查看sys.traces 目录视图。该目录视图包含当前在系统中运行的跟踪信息。

SELECT start_time AS StartDateTime
FROM sys.traces
WHERE is_default=1;

方法7:

这个方法仅供参考,它能查询出SQL Server实例启动时间是有条件的,除非从数据库实例启动后,你的错误日志就没有变动过,如果错误日志文件被删除或覆盖,这个脚本根本无法查出数据。当然,如果SQL Server启动时的错误日志还在的话,你也可以从错误日志中找出SQL Server实例启动的时间。

use master
go
EXEC xp_ReadErrorLog 0, 1, N'SQL',N'Starting' 

查看SQL Server Agent的启动时间

方法1:

通过查看系统动态管理视图sys.dm_server_services, 这个时视图中,有个字段last_startup_time表示上次启动服务的日期和时间。

SELECT  servicename ,
        process_id ,
        startup_type_desc ,
        status_desc ,
        last_startup_time ,
        service_account ,
        is_clustered ,
        cluster_nodename ,
        [filename]
FROM    sys.dm_server_services WITH ( NOLOCK )
OPTION  ( RECOMPILE );

注意,有些SQL Server环境由于没有更新补丁或Bug缘故,SQL Server 代理 (MSSQLSERVER)的last_startup_time总是为null,那么这种方法可能不能找出SQL Server Agent服务的启动时间。如下图所示:

img

方法2:

SELECT  program_name
       ,login_time  AS SQLAgent_StartTime
FROM    sys.sysprocesses
WHERE   program_name LIKE 'SQLAgent - Generic Refresher%';

img

标签:查看,启动,time,视图,Server,sys,SQL
From: https://www.cnblogs.com/kerrycode/p/17042975.html

相关文章

  • mysql 备份定时任务
    #!/bin/bashrq=`date+%Y-%m-%d-%H`#日期#数据库信息host=127.0.0.1user=rootpassword=xxxdbname=script#放在这个目录path=/usr/local/backups/sqlmysqldump-h......
  • mysql导出表数据
    -T表-B备份数据库-t线程数-r多少行-c压缩输出文件--less-locking在InnoDB表使用最小的锁表时间导出表结构mydumper-h127.0.0.1-uroot-p*-Btest-t......
  • 实训体会--swing和mysql的使用
    结构设计思想:前端界面和后端数据库通过一个中间件操作。中间件就像一个中间助手,每一个前端界面通过一个具象的中间助手进行操作。最大的设计错误:中间件不是一个具象的实......
  • Redis-01-初见NoSQL
    目录1.为什么要用NoSQL2.什么是NoSQL?2.1NotOnlyStructuredQueryLanguage2.2Nosql特点2.3传统的RDBMS(关系型数据库)2.4Nosql2.5Nosql的四大分类2.5.1KV键值......
  • JPA-JpaRepository方法命名语法说明 和对应执行的SQL 表名字占位符 #{#entityName}
    JPA-JpaRepository方法命名语法说明和对应执行的SQL表名字占位符#{#entityName}http://news.558idc.com/148964.html目录前言JPA的语法分为如下5种:1、count相关,......
  • Serverless 奇点已来,下一个十年将驶向何方?
    本文整理自QCon上海站2022丁宇(叔同)的演讲内容。以前构建应用,需要买ECS实例,搭建开源软件体系然后维护它,流量大了扩容,流量小了缩容,整个过程非常复杂繁琐。用了Serve......
  • MySql树形结构(多级菜单)查询设计方案
    背景又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查询(多级查询),常见的场景有:......
  • Python+ Flask轻松实现Mock Server
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试1、什么是......
  • Excel 20w数据解析成可插入SQL脚本
    背景:上游系统有15万+生产商品数据要导入到我们系统(只同步一次),这个数据需要各个服务owner修改完价格之后一一确认之后才能导入,既然是多个人经手改,模板就可能会变动,使用ex......
  • Serverlet程序开发
    1.去marven仓库官网下载所需控件https://mvnrepository.com/ <!--https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api--><dependency>......