Ik heb in het verleden gemerkt dat het verkleinen van het gegevensbestand in kleinere stukjes effectiever kan zijn dan proberen alles in één keer te verkleinen. Als je zou proberen een vergelijkbare strategie te gebruiken, zou je zoiets als hieronder willen doen:
DECLARE @targetSize AS INT = 388000;
DECLARE @desiredFinalSize AS INT = 362000;
DECLARE @increment AS INT = 300;
DECLARE @sql AS VARCHAR(200);
WHILE @targetSize > @desiredFinalSize
BEGIN
SET @sql = 'DBCC SHRINKFILE(''MyDataFileName'', ' + CAST(@targetSize AS VARCHAR(10)) + ');'
SELECT @sql;
EXEC(@sql);
SET @targetSize = @targetSize - @increment;
END