/*
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_name, backup_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.name, tr.db_size, db.compatibility_level,is_auto_shrink_on,
state_desc, recovery_model_desc, page_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 >4 --This clause will exclude system DBs,master, model, msdb, and tempdb
ORDER BY db.name
DROP TABLE #tempresults
DROP TABLE #tempresults2