Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

merebut kembali ruang setelah memindahkan indeks ke grup file

Saya telah memperhatikan di masa lalu bahwa mengecilkan file data dalam potongan yang lebih kecil bisa lebih efektif daripada mencoba mengecilkan semuanya sekaligus. Jika Anda mencoba menggunakan strategi serupa maka Anda ingin melakukan sesuatu seperti di bawah ini:

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. Bagaimana cara membuat tabel berdasarkan tabel lain?

  2. Lulus Kamus<string,int> ke Prosedur Tersimpan T-SQL

  3. sql server, penghapusan kaskade dan tabel induk/anak

  4. Hasil SSMS ke Kotak - CRLF tidak disimpan dalam salin/tempel - ada teknik yang lebih baik?

  5. Tampilkan tanggal acara berikutnya