/*
Name: Inventory.sql
Description: Second stab at inventory using systables and sp_helpdb
Author: Bennett Scharf
Compatibility: SQL Server 2005
*/
            
USE master
CREATE TABLE #tempresults
    
(
                
[name] sysname,
                
db_size NVARCHAR(13),
                
[owner] sysname,
                
[dbid] smallint,
                
created NVARCHAR(11),
                
[status] NVARCHAR(600),
                
compatibility_level tinyint
    
)
CREATE TABLE #tempresults2
    
( f
                
database_name NVARCHAR(128),
                
backup_start_date datetime
    
)
INSERT INTO #tempresults
    
EXEC sp_helpdb
INSERT INTO #tempresults2
    
SELECT database_namebackup_start_date
    
FROM msdb.dbo.backupset AS b1
    
WHERE backup_start_date =
    
(
    
SELECT MAX(backup_start_date)
        
FROM msdb.dbo.backupset AS b2
        
WHERE b1.database_name b2.database_name
            
AND type 'D'
    
)
SELECT db.nametr.db_sizedb.compatibility_level,is_auto_shrink_on,
            
state_descrecovery_model_descpage_verify_option_desc,
            
tr2.backup_start_date AS 'last backup'
    
FROM sys.databases db
            
JOIN #tempresults tr
            
ON db.name =tr.name
            
LEFT OUTER JOIN #tempresults2 tr2
            
ON db.name tr2.database_name
    
WHERE db.database_id >--This clause will exclude system DBs,master, model, msdb, and tempdb
    
ORDER BY db.name
DROP TABLE #tempresults
DROP TABLE #tempresults