Beginning with SQL 2005, DBCC CHECKDB creates a hidden snapshot
on the same volume as the database – you have no control over where it’s
placed. If you’re running CHECKDB at the same time that your server has
a heavy workload the snapshot can run out of space and you’ll get an
error showing that CHECKDB didn’t complete. In order to overcome this problem, you can create your own database snapshot on a drive that has enough space and
run CHECKDB against that snapshot. CHECKDB will know that its running
against a snapshot and won’t create another one. Below is an example:
CREATE DATABASE TestDB_Snapshot ON
(
NAME = TestDB,
FILENAME = 'C:\TestDB.ss'
) AS SNAPSHOT OF TestDB;
GO
DBCC CHECKDB (TestDB_Snapshot) WITH NO_INFOMSGS;
GO
No comments:
Post a Comment