It is important to find out for how long the SQL server is up & running to diagnose any issues. Here is one of the scripts which I use almost every day to find the uptime of the Server.
SET NOCOUNT ON; DECLARE @UpTime VARCHAR(12) ,@StartDate DATETIME ,@sqlmajorver INT ,@sqlcmd NVARCHAR(500) ,@params NVARCHAR(500) SELECT @sqlmajorver = CONVERT(INT, (@@microsoftversion / 0x1000000) & 0xFF); IF @sqlmajorver = 9 BEGIN SET @sqlcmd = N'SELECT @StartDateOUT = login_time, @UpTimeOUT = DATEDIFF(mi, login_time, GETDATE()) FROM master..sysprocesses WHERE spid = 1'; END ELSE BEGIN SET @sqlcmd = N'SELECT @StartDateOUT = sqlserver_start_time, @UpTimeOUT = DATEDIFF(mi,sqlserver_start_time,GETDATE()) FROM sys.dm_os_sys_info'; END SET @params = N'@StartDateOUT DATETIME OUTPUT, @UpTimeOUT VARCHAR(12) OUTPUT'; EXECUTE sp_executesql @sqlcmd ,@params ,@StartDateOUT = @StartDate OUTPUT ,@UpTimeOUT = @UpTime OUTPUT; SELECT @@servername AS ServerName ,GETDATE() AS [Current_Time] ,@StartDate AS Last_Startup ,CONVERT(VARCHAR(4), @UpTime / 60 / 24) + 'd ' + CONVERT(VARCHAR(4), @UpTime / 60 % 24) + 'h ' + CONVERT(VARCHAR(4), @UpTime % 60) + 'm' AS Uptime ,@@version AS Version GO
No comments:
Post a Comment