sql >> Database teknologi >  >> RDS >> Sqlserver

genvinde plads efter flytning af indekser til filgruppe

Jeg har tidligere bemærket, at det kan være mere effektivt at krympe datafilen i mindre bidder end at forsøge at krympe det hele på én gang. Hvis du skulle forsøge at bruge en lignende strategi, ville du gerne gøre noget som nedenfor:

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. Udførelse af flere forespørgsler i codeigniter, der ikke kan udføres én efter én

  2. Proxy-baseret dynamisk datamaskering i FieldShield

  3. mysql tælle poster fra to tabeller i én forespørgsel?

  4. postgreSQL:hvordan man dublerer en række