मैंने अतीत में देखा है कि डेटा फ़ाइल को छोटे टुकड़ों में छोटा करना इसे एक बार में कम करने की कोशिश करने से अधिक प्रभावी हो सकता है। यदि आप इसी तरह की रणनीति का उपयोग करने का प्रयास करते हैं तो आप नीचे कुछ ऐसा करना चाहेंगे:
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