• I added separation of the hours into days and hours.

    SET NOCOUNT ON

    DECLARE

    @crdate DATETIME

    , @days VARCHAR(3)

    , @hr VARCHAR(50)

    , @min-2 VARCHAR(5)

    SELECT @crdate=crdate FROM master.dbo.sysdatabases WHERE NAME='tempdb'

    SELECT @days=((DATEDIFF ( mi, @crdate,GETDATE()))/60)/24

    SELECT @hr=((DATEDIFF ( mi, @crdate,GETDATE()))/60)- (@days * 24)

    IF ((DATEDIFF ( mi, @crdate,GETDATE()))/60)=0

    SELECT @min-2=(DATEDIFF ( mi, @crdate,GETDATE()))

    ELSE

    SELECT @min-2=(DATEDIFF ( mi, @crdate,GETDATE()))-((DATEDIFF( mi, @crdate,GETDATE()))/60)*60

    PRINT 'SQL Server "' + CONVERT(VARCHAR(20),SERVERPROPERTY('SERVERNAME'))+'" is Online for the past '

    +@days+' days & '

    +@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 running'

    END

    ELSE

    BEGIN

    PRINT 'SQL Server and SQL Server Agent both are running'

    END