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