I have a sql 2008 filestream enabled database. We had a large number of records (400,000) that we have been deleting over the course of the last few months and when I look at sys.master_files for the database, it reports that we have 155 MB for the
filestream filegroup but on the physical disk we have 172 GB. I understand that there is a tombstone table that is actually holding the records and that after the file is not needed by a transaction (we are in simple mode on the db) and a checkpoint
is run, the ghost clean up task wakes up every 10 min and physically deletes records. Is the tombstone process the reason that I see a descrepance in the sys.master_files size and the physical file size of the filestream container on disk? Also,
I see checkpointing processes occuring and I understand from a paul randall article that we need another checkpoint process to have the GC process kick in. Is there anything else that I can do to speed up the process in sql 2008? We don't have
that nice force gc procedure as we will in sql 2012 (sp_filestream_force_garbage_collection). Do I just have to keep issuing checkpoint statements?
↧