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

Jak zmniejszyć rozmiar pliku danych w SQL Server (T-SQL)

W programie SQL Server podczas korzystania z języka Transact-SQL zmniejszenie rozmiaru pliku danych wymaga innej składni, aby go zwiększyć. Aby zmniejszyć rozmiar pliku za pomocą T-SQL, użyj DBCC SHRINKFILE i podaj nazwę pliku danych wraz z rozmiarem, do którego chcesz go zmniejszyć.

Poniżej znajdują się przykłady zmniejszania rozmiaru pliku danych w SQL Server przy użyciu T-SQL.

Przykład podstawowy

Oto podstawowy przykład zmniejszenia rozmiaru pliku danych za pomocą T-SQL:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2, 5);
GO

Jest to prawdopodobnie dość oczywiste. Najpierw przechodzimy do bazy danych, której plik danych chcemy zmienić. Następnie używamy DBCC SHRINKFILE aby określić, który plik danych i jaki rozmiar pliku należy zmniejszyć. To jest w MB, więc nasz przykład zmniejszy to do 5 MB.

Zredukuj go do domyślnego rozmiaru pliku

Jeśli nie określisz rozmiaru pliku, plik zostanie zmniejszony do rozmiaru domyślnego. Domyślny rozmiar to rozmiar określony podczas tworzenia pliku.

Przykład:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2);
GO

Obetnij plik danych

Możesz skrócić plik danych, używając TRUNCATEONLY argument.

Oto przykład:

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

Opróżnij plik danych

Możesz także opróżnić plik danych, używając EMPTYFILE argument.

Przykład:

DBCC SHRINKFILE (Solutions2, EMPTYFILE);  
GO 

Spowoduje to migrację wszystkich danych z określonego pliku do innych plików w tej samej grupie plików. Dlatego musisz upewnić się, że nie jest to jedyny plik w grupie plików (w przeciwnym razie pojawi się błąd). EmptyFile zapewnia również, że żadne nowe dane nie zostaną dodane do pliku.

Po opróżnieniu pliku możesz go usunąć, jeśli chcesz to zrobić. Oto przykład usuwania opróżnionego pliku:

ALTER DATABASE Solutions  
REMOVE FILE Solutions2;  
GO 

Możemy sprawdzić, czy został usunięty, uruchamiając następujące polecenie:

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. Klucz obcy do klucza innego niż podstawowy

  2. Uzyskaj daty z numeru tygodnia w T-SQL

  3. Jak sformatować datę i godzinę w SQL Server

  4. Kiedy musimy używać NVARCHAR/NCHAR zamiast VARCHAR/CHAR w SQL Server?

  5. Czy klucz obcy poprawia wydajność zapytań?