Pages

Wednesday, September 5, 2012

Find the uptime of SQL Server using TSQL

How to Find the uptime of SQL Server using TSQL:


Below is the query used to find the uptime of SQL Server using the TSQL statement.

SET NOCOUNT ON
 DECLARE @crdate DATETIME, @hr VARCHAR(50), @min VARCHAR(5)
 SELECT @crdate=crdate FROM master..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'))+'" is  Online for the past
'+@hr+' hours & '+@min+' minutes'
 IF NOT EXISTS (SELECT 1 FROM master.dbo.sysprocesses WHERE program_name = N'SQLAgent  - Generic Refresher')
 BEGIN
 PRINT 'SQL Server is running but SQL Server Agent is not running'
 END
 ELSE BEGIN
 PRINT 'SQL Server and SQL Server Agent both are running'
 END


Hope the above information helps

Thanks