Version history takes a huge amount of disk space
The following SQL will delete the version history for a specific doc or set of docs
BE VERY CAREFUL! Remove the first line and run a SELECT statement first so you don’t delete the wrong versions!
Set the DirName = to the path to the doc library
Set the leafname = to the name of the file
delete from alldocversions
from alldocversions v inner join alldocstreams s on s.id = v.id
inner join alldocs d on d.id = s.id
where DirName = ‘FolderPath’ and leafname like ‘a%’
Here’s a cursor procedure to delete selected files
SET NOCOUNT ON
declare @dirname varchar(100)
declare @leafname varchar(255)
DECLARE complex_cursor CURSOR FOR
select distinct DirName, LeafName
from alldocversions v inner join alldocstreams s on s.id = v.id
inner join alldocs d on d.id = s.id
where DirName like ‘Folderpath%’ and leafname like ‘c%’;
OPEN complex_cursor;
FETCH NEXT FROM complex_cursor INTO @dirname, @leafname
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT ‘Deleting ‘ + @dirname + ‘, ‘ + @leafname
DELETE FROM alldocversions
FROM alldocversions v inner join alldocstreams s on s.id = v.id
inner join alldocs d on d.id = s.id
where DirName = @dirname and leafname = @leafname
FETCH NEXT FROM complex_cursor INTO @dirname, @leafname
END
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
SET NOCOUNT OFF