Sunday, September 14, 2025

How long has your SQL Server been running for?

Very good question, and often something you will need to know.  This will get you there quickly.

SET NOCOUNT ON
USE master;
DECLARE 
@crdate DATETIME
@hr VARCHAR(50), 
@min VARCHAR(5)

SELECT @crdate = crdate FROM sysdatabases WHERE NAME='tempdb'
SELECT @hr = (DATEDIFF ( mi, @crdate, GETDATE())) / 60
IF ((DATEDIFF (mi, @crdate, GETDATE()))/60) =0 SELECT @min = (DATEDIFF (mi, @crdate,GETDATE()))
ELSE SELECT @min =(DATEDIFF (mi, @crdate,GETDATE())) - ((DATEDIFF(mi, @crdate, GETDATE())) / 60)*60;

PRINT 'SQL Server "' + CONVERT(VARCHAR(20),SERVERPROPERTY('SERVERNAME'))+'" has been running for the past '+ @hr + ' hours & '+ @min' minutes.'
    
Mine hasn't been running for very long, but you get the point.



More details regarding your SQL Server start times:  last restart

No comments:

Post a Comment