I modified my backup-all script to schedule a DBCC CHECKDB run on ‘most’ databases. Then I augmented it further – to quit if still running at 18:30 …
--Checkdb_most.sql
DECLARE @dbname VARCHAR(100)
declare @return int
set @return = 0
DECLARE db_cursor CURSOR FOR
SELECT name FROM master.dbo.sysdatabases
where dbid > 4 -- exclude system databases
and name not in ('somedatabasename')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @dbname
WHILE (@@FETCH_STATUS = 0) AND (@return = 0)
BEGIN
if getdate() > '01 feb 2012 18:20' set @return = 1
DBCC CHECKDB (@dbname) with PHYSICAL_ONLY
FETCH NEXT FROM db_cursor INTO @dbname
END
CLOSE db_cursor
DEALLOCATE db_cursor