W środowisku SQL Server każdy plik bazy danych można skompresować, usuwając nieużywane strony. Mimo że Aparat baz danych optymalizuje alokację dysku, zdarza się, że pliki nie potrzebują już wcześniej przydzielonej kwoty. Program zapewnia kompresję plików bazy danych zarówno ręcznie, jak i automatycznie po określonym czasie.
Instrukcje
Krok 1
Do automatycznej kompresji środowisko posiada bazę danych AUTO_SHRINK, której parametr wystarczy ustawić na ON. Dzięki tej bazie danych w systemie Aparat baz danych automatycznie zmniejszy dowolny kod SQL, który ma wolne miejsce. Parametry są konfigurowane za pomocą instrukcji ALTER DATABASE, która początkowo jest ustawiona na OFF. Wszystkie automatyczne operacje kompresji odbywają się w tle i nie wpływają na akcje użytkownika w bazie danych.
Krok 2
Bazy danych programu SQL Server są kompresowane ręcznie przy użyciu instrukcji DBCC SHRINKDATABASE (DBCC SHRINKFILE). Jeśli wybrana instrukcja nie może zarezerwować miejsca w pliku dziennika, wyświetlany jest komunikat informacyjny wskazujący działanie wymagane do zwolnienia miejsca na dysku.
Krok 3
Z DBCC SHRINKDATABASE nie można zmniejszyć bazy danych do rozmiaru, który jest mniejszy niż oryginalny rozmiar. Jeśli baza została utworzona o rozmiarze 10MB, a następnie rozszerzyła się do 50MB, będzie można ją skompresować tylko do 10MB, nawet jeśli wszystkie dane zostaną usunięte.
Krok 4
Dzięki DBCC SHRINKFILE można skompresować pojedyncze pliki do rozmiaru, który jest wyraźnie mniejszy niż rozmiar początkowy. Jednak każdy plik bazy danych będzie musiał zostać skompresowany osobno.
Krok 5
Gdy te instrukcje są używane, dzienniki transakcji są automatycznie zmniejszane do żądanego rozmiaru. Największy efekt kompresji osiąga się tylko wtedy, gdy jest wykonywany po operacji, która tworzy dużo dodatkowej przestrzeni (na przykład upuszczenie tabeli).