sql >> Databáze >  >> RDS >> Sqlserver

znovu získat místo po přesunutí indexů do skupiny souborů

V minulosti jsem si všiml, že zmenšování datového souboru po menších kouscích může být efektivnější, než se snažit zmenšit vše najednou. Pokud byste se pokusili použít podobnou strategii, pak byste chtěli udělat něco jako níže:

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  


  1. Online vs offline zálohování

  2. Import výpisu s parametrem SQLFILE, který nevrací data uvnitř tabulky

  3. Compex MySQL Left Join pomocí více položek z meta tabulek

  4. Připojte více databází pomocí T-SQL