Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

odzyskać miejsce po przeniesieniu indeksów do grupy plików

Zauważyłem w przeszłości, że zmniejszanie pliku danych w mniejszych porcjach może być bardziej efektywne niż próba zmniejszenia go za jednym razem. Gdybyś próbował użyć podobnej strategii, chciałbyś zrobić coś takiego jak poniżej:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopiowanie wierszy w bazie danych, gdy wiersze mają dzieci

  2. Jak przenieść/skopiować wszystkie bazy danych z użytkownikami, schematem i rolami z jednego serwera na drugi?

  3. Nie mogę znaleźć mojej pierwszej bazy danych kodu EF

  4. usuń duplikaty z przecinka lub ciągu operatora potoku

  5. Parametr wartości tabeli z procedurami składowanymi Dapper