Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

възстановяване на място след преместване на индекси във файлова група

В миналото съм забелязвал, че свиването на файла с данни на по-малки части може да бъде по-ефективно, отколкото да се опитвате да го свиете наведнъж. Ако се опитате да използвате подобна стратегия, бихте искали да направите нещо като по-долу:

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. Как да преместите/копирате всички бази данни с потребители, схема и роли от един сървър на друг

  2. Инсталиране на клъстер за отказване на SQL сървър -3

  3. Създайте свързан сървър в SQL Server (пример за T-SQL)

  4. SQL идентичност с водещи подплатени нули

  5. Каква е ползата от използването на SET XACT_ABORT ON в съхранена процедура?