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