Ich habe in der Vergangenheit festgestellt, dass das Verkleinern der Datendatei in kleinere Teile effektiver sein kann, als zu versuchen, alles auf einmal zu verkleinern. Wenn Sie versuchen würden, eine ähnliche Strategie zu verwenden, sollten Sie etwa wie folgt vorgehen:
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