Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

recuperar espaço depois de mover os índices para o grupo de arquivos


Percebi no passado que reduzir o arquivo de dados em partes menores pode ser mais eficaz do que tentar reduzi-lo de uma só vez. Se você tentasse usar uma estratégia semelhante, faria algo como abaixo:
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