Saya telah memperhatikan di masa lalu bahwa mengecilkan file data dalam potongan yang lebih kecil bisa lebih efektif daripada mencoba mengecilkan semuanya sekaligus. Jika Anda mencoba menggunakan strategi serupa maka Anda ingin melakukan sesuatu seperti di bawah ini:
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