/*ServerInfo*/
IF EXISTS (SELECT FROM 
tempdb..sysobjects WHERE id OBJECT_ID(N'[tempdb]..[#versioninfo]')) DROP TABLE #versioninfo 
IF EXISTS (SELECT FROM 
tempdb..sysobjects WHERE id OBJECT_ID(N'[tempdb]..[#searchstring]')) DROP TABLE #searchstring 
IF EXISTS (SELECT FROM 
tempdb..sysobjects WHERE id OBJECT_ID(N'[tempdb]..[#temp]')) DROP TABLE #temp
SET nocount 
ON
CREATE TABLE 
#versioninfo  (  
   
[Index] INT

   
[Name] VARCHAR(20
), 
   
Internal_Value VARCHAR(10
), 
   
CHARacter_Value VARCHAR(120
)
)     INSERT INTO #versioninfo EXEC ('xp_msver'
) DECLARE @sqlver VARCHAR(10), 
       
@winver VARCHAR(10
), 
       
@cpuspeedcount VARCHAR(3
), 
       
@Memory VARCHAR(4
), 
       
@currentEditonstart VARCHAR(3
), 
       
@Editionlength VARCHAR(3
), 
       
@installdatestart VARCHAR(10
),
       
@Index 
INT
SET 
@sqlver (SELECT CHARacter_Value FROM #versioninfo WHERE Name 'ProductVersion'
) SET @winver (SELECT CHARacter_Value FROM #versioninfo WHERE Name 'WindowsVersion') SET @cpuspeedcount (SELECT Internal_Value FROM #versioninfo WHERE Name 'ProcessorCount') SET @Memory (SELECT Internal_Value FROM #versioninfo WHERE Name 'PhysicalMemory') PRINT SUBSTRING (@sqlver64)
SET @Index (SELECT MAX([Index]FROM #versioninfo
)
INSERT INTO 
#versioninfo VALUES ( @Index 1, 'SQL_SP (Bld.)',
NULL, CASE LEFT(@sqlver4

           
WHEN '9.00'  THEN 
'SQL 2005' 
           
WHEN '8.00' THEN 
'SQL 2000' 
           
WHEN '7.00' THEN 
'SQL 7.0' 
           
WHEN '6.50' THEN 
'SQL 6.5' 
           
END 
)
SET @Index (SELECT MAX([Index]FROM #versioninfo
) --Service Pack
INSERT INTO 
#versioninfo VALUES ( @Index 1, 'Service Pack',
NULL, CASE SUBSTRING (@sqlver64

   
-- 6.5
   
WHEN '121' THEN 
'N/A'
   
WHEN '124' THEN 
'SP1'
   
WHEN '139' THEN 
'SP2'
   
WHEN '151' THEN 
'SP3'
   
WHEN '201' THEN 
'N/A'
   
WHEN '213' THEN 
'SP1'
   
WHEN '240' THEN 
'SP2'
   
WHEN '252' THEN 
'SP3 ** bad **'
   
WHEN '258' THEN 
'SP3'
   
WHEN '259' THEN 
'SP3 + sbs'
   
WHEN '281' THEN 
'SP4'
   
WHEN '297' THEN 
'SP4 + sbs'
   
WHEN '339' THEN 
'SP4 + y2k'
   
WHEN '415' THEN 
'SP5 ** bad **'
   
WHEN '416' THEN 
'SP5a'
   
-- 7.0
   
WHEN '198' THEN 
'beta 1'
   
WHEN '517' THEN 
'beta 3'
   
WHEN '583' THEN 
'rc1'
   
WHEN '623' THEN 
'N/A'
   
WHEN '689' THEN 
'SP1 beta'
   
WHEN '699' THEN 
'SP1'
   
WHEN '835' THEN 
'SP2 beta'
   
WHEN '842' THEN 
'SP2'
   
WHEN '961' THEN 
'SP3'
   
WHEN '1063' THEN 
'SP4'
   
-- 2000
   
WHEN '194' THEN 
'N/A'
   
WHEN '384' THEN 
'SP1'
   
WHEN '534' THEN 
'SP2'

   
WHEN '760' THEN 
'SP3 or SP3a'
   
WHEN '2039' THEN 
'SP4'

   
--2005
   
WHEN '1399' THEN 
'N/A'
   
WHEN '2047' THEN 
'SP1'
   
WHEN '2050' THEN 
'SP1 with SSIS fix'   
   
WHEN '2153' THEN 
'SP1 Cumulative hotfix and MSMS 64-bit msg fix'       
   
WHEN '2164' THEN 
'SP1 with Profiler and ROLAP fix'
   
WHEN '2167' THEN 
'SP1 with MDX and Local Cube fix'
   
WHEN '2175' THEN 
'SP1 with Email size, GetDataX function and MS Search fix'
   
WHEN '2176' THEN 
'SP1 with Error message fix'
   
WHEN '2181' THEN 
'SP1 with multiple processor fix'
   
WHEN '2183' THEN 
'SP1 with UDF invlaid length parameter fix'
   
WHEN '2195' THEN 
'SP1 with using SqlBulkCopy class to import data fix'
   
WHEN '2196' THEN 
'SP1 with fast forward-only cursor to run a query fix'
   
WHEN '2176' THEN 
'SP1 with Error message fix'
   
WHEN '3042' THEN 
'SP2'
   
WHEN '3054' THEN 
'SP2 Updated'
   
WHEN '3161' THEN 
'SP2 Cumulative Update 1'
   
WHEN '3175' THEN 
'SP2 Cumulative Update 2'
   
WHEN '3186' THEN 
'SP2 Cumulative Update 3'
   
WHEN '3200' THEN 
'SP2 Cumulative Update 4'
   
WHEN '3215' THEN 
'SP2 Cumulative Update 5'
   
WHEN '3228' THEN 
'SP2 Cumulative Update 6' /*Any values required in between not listed see:- http://www.sqlservercentral.com/articles/Administration/2960/ */
   
ELSE 
'unknown ' 
   
END 
)

INSERT INTO 
#versioninfo VALUES ( @Index 1, 'IntegratedSecurity',
NULL, CASE WHEN SERVERPROPERTY('IsIntegratedSecurityOnly'
THEN 'No'  ELSE 'Yes'  END )

SELECT [Index]
[Name]CHARacter_Value  FROM #versioninfo