sql >> Databáze >  >> RDS >> Sqlserver

Jak zmenšit velikost datového souboru na SQL Server (T-SQL)

V SQL Server při použití Transact-SQL vyžaduje zmenšení velikosti datového souboru jinou syntaxi než její zvětšení. Chcete-li zmenšit velikost souboru pomocí T-SQL, použijte DBCC SHRINKFILE a zadejte název datového souboru spolu s velikostí, na kterou jej chcete zmenšit.

Níže jsou uvedeny příklady zmenšení velikosti datového souboru v SQL Server pomocí T-SQL.

Základní příklad

Zde je základní příklad zmenšení velikosti datového souboru pomocí T-SQL:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2, 5);
GO

To je pravděpodobně zcela samozřejmé. Nejprve se přepneme do databáze, jejíž datový soubor chceme změnit. Poté použijeme DBCC SHRINKFILE určit, který datový soubor a na jakou velikost souboru jej zmenšit. Toto je v MB, takže náš příklad to zmenší na 5 MB.

Zmenšete soubor na výchozí velikost

Pokud neurčíte velikost souboru, soubor se zmenší na výchozí velikost. Výchozí velikost je velikost zadaná při vytvoření souboru.

Příklad:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2);
GO

Zkrácení datového souboru

Datový soubor můžete zkrátit pomocí TRUNCATEONLY argument.

Zde je příklad:

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

Vyprázdnit datový soubor

Datový soubor můžete také vyprázdnit pomocí EMPTYFILE argument.

Příklad:

DBCC SHRINKFILE (Solutions2, EMPTYFILE);  
GO 

Tím se migrují všechna data ze zadaného souboru do jiných souborů ve stejné skupině souborů. Proto se musíte ujistit, že to není jediný soubor ve skupině souborů (jinak se zobrazí chyba). EmptyFile vás také ujišťuje, že do souboru nebudou přidána žádná nová data.

Jakmile soubor vyprázdníte, můžete jej odstranit, pokud to chcete udělat. Zde je příklad odstranění vyprázdněného souboru:

ALTER DATABASE Solutions  
REMOVE FILE Solutions2;  
GO 

A můžeme zkontrolovat, že byl odstraněn spuštěním následujícího:

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


  1. SQL - Jak vybrat řádek se sloupcem s maximální hodnotou

  2. Jak používat PHP pro připojení k serveru SQL

  3. Jak napsat uloženou proceduru pomocí phpmyadmin a jak ji používat prostřednictvím php?

  4. S sqlalchemy, jak se dynamicky vázat na databázový stroj na základě požadavku