MS SQL General Instance Information

When I saw the code Getting All the Information of the Server in SQL Server – MSSQL Query, I thought to share mine.
This more or less sums the general MS SQL instance information

DECLARE @statement nvarchar(max)
      DECLARE @InstanceHidden int
      EXEC MASTER.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib', N'HideInstance', @InstanceHidden OUTPUT
      
      SELECT
          cast(@@servername as varchar) as Servername,
          cast(@@servicename as varchar) as ServiceName,
          cast(( CASE 
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '8%' THEN 'SQL2000'
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '9%' THEN 'SQL2005'
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '10.0%' THEN 'SQL2008'
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '10.5%' THEN 'SQL2008 R2'
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '11%' THEN 'SQL2012'
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '12%' THEN 'SQL2014'
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '13%' THEN 'SQL2016'     
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '14%' THEN 'SQL2017' 
            WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '15%' THEN 'SQL2019'
            ELSE 'unknown' END) as varchar) as MajorVersion,
          CAST(SERVERPROPERTY('ProductLevel') as varchar)+' - '+cast(ISNULL(SERVERPROPERTY('ProductUpdateLevel'),'NO CU') as varchar) AS ProductLevel,
          cast(SERVERPROPERTY('Edition') as varchar) AS Edition,
          cast(SERVERPROPERTY('ProductVersion') as varchar) AS ProductVersion,
          cast((case
          WHEN (SELECT virtual_machine_type FROM sys.dm_os_sys_info) = 1 THEN 'Virtual'
          WHEN (SELECT virtual_machine_type FROM sys.dm_os_sys_info) = 0 THEN 'Physical'
          else 'unknown' END) as varchar) as Enviroment,
      
          (SELECT cpu_count FROM sys.dm_os_sys_info) as OSCPUcount,
          (select count(*) from sys.dm_os_schedulers where status = 'VISIBLE ONLINE') as SQLCPUCount,
        cast((select (total_physical_memory_kb/1024) from master.sys.dm_os_sys_memory ) as int) as OS_TotalRAM,
          (SELECT case 
              when value<>value_in_use then cast(value as int)
                      when value = value_in_use then  cast(value as int) end
          FROM sys.configurations   WHERE name like 'min server memory%') as SQLMinRAM,
          (SELECT case 
              when value<>value_in_use then cast(value as int)
                      when value = value_in_use then cast(value_in_use as int) end
          FROM sys.configurations   WHERE name like 'max server memory%')  as SQLMAXRAM,
          cast((SELECT DEC.Local_Net_Address FROM sys.dm_exec_connections AS DEC WHERE DEC.session_id = @@SPID) as varchar) as IPaddress,
          (SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID) as SQLport,
          cast((CASE when (SELECT CONVERT(char(30), SERVERPROPERTY('ISClustered'))) = 1 THEN 'Clustered' else 'NonClustered'	END) as varchar) as [SQLCLustered],
          cast((CASE WHEN (SELECT CONVERT(varchar(30), SERVERPROPERTY('ISIntegratedSecurityOnly'))) = 1 then 'Windows Authentication' ELSE 'Mixed' end) as varchar) as [AuthMode],
          @InstanceHidden as InstanceHidden,
          CONVERT (varchar, SERVERPROPERTY('collation')) AS 'ServerCollation'

Good Luck

About: admin