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

Как да намалите размера на файл с данни в SQL Server (T-SQL)

В SQL Server, когато се използва Transact-SQL, намаляването на размера на файл с данни изисква различен синтаксис за увеличаването му. За да намалите размера на файла с помощта на T-SQL, използвайте DBCC SHRINKFILE команда и посочете името на файла с данни заедно с размера, до който искате да го намалите.

По-долу са дадени примери за намаляване на размера на файла с данни в SQL Server с помощта на T-SQL.

Основен пример

Ето основен пример за намаляване на размера на файла с данни с помощта на T-SQL:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2, 5);
GO

Това вероятно е съвсем разбираемо. Първо, преминаваме към базата данни, чийто файл с данни искаме да променим. След това използваме DBCC SHRINKFILE за да посочите кой файл с данни и до какъв размер на файла да го намалите. Това е в MB, така че нашият пример ще го намали до 5MB.

Намалете го до размера на файла по подразбиране

Ако не посочите размер на файла, файлът ще бъде намален до размера по подразбиране. Размерът по подразбиране е размерът, определен при създаването на файла.

Пример:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2);
GO

Отрежете файла с данни

Можете да съкратите файла с данни, като използвате TRUNCATEONLY аргумент.

Ето един пример:

USE Solutions;  
GO  
DBCC SHRINKFILE ('Solutions', TRUNCATEONLY);
GO

Изпразване на файл с данни

Можете също да изпразните файл с данни, като използвате EMPTYFILE аргумент.

Пример:

DBCC SHRINKFILE (Solutions2, EMPTYFILE);  
GO 

Това мигрира всички данни от посочения файл към други файлове в същата файлова група. Следователно, ще трябва да се уверите, че това не е единственият файл във файловата група (в противен случай ще получите грешка). EmptyFile също така ви уверява, че няма да бъдат добавени нови данни към файла.

След като изпразните файла, можете да го премахнете, ако искате да направите това. Ето пример за премахване на изпразнения файл:

ALTER DATABASE Solutions  
REMOVE FILE Solutions2;  
GO 

И можем да проверим дали е премахнат, като изпълним следното:

USE Solutions;  
GO  
SELECT file_id, name, type_desc, physical_name, size, max_size  
FROM sys.database_files ;  
GO


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Express срещу express localdb

  2. Вложен оператор за избор в SQL Server

  3. Проверете пространството, използвано от таблица в SQL Server

  4. съхранени процедури с sqlAlchemy

  5. Вътрешни елементи за репликация на транзакции на SQL сървър – част 2