| Opis zagadnienia | |
| Dodawanie plików | |
| Usuwanie plików |
Pliki danych i dziennika transakcji można dodawać, co powoduje rozszerzenie bazy danych, lub usuwać, co wiąże się z jej zmniejszeniem.
| Ważne: |
Plików danych i dziennika transakcji SQL Server 2005 nie należy umieszczać w skompresowanych systemach plików. W systemach plików używających kompresji NTFS można umieszczać pomocnicze grupy plików tylko do odczytu i bazy danych tylko do odczytu. Więcej informacji można znaleźć w dokumencie Read-Only Filegroups and Compression (j.ang.). |
SQL Server używa strategii proporcjonalnego wypełniania poszczególnych grup plików i zapisuje w plikach ilość danych zależną od ilości wolnego miejsca. Dzięki temu nowy plik może być używany natychmiast. W ten sposób wszystkie pliki zapełniają się jednocześnie. Jednak pliki dzienników transakcji nie mogą stanowić części grupy plików; są one od siebie oddzielne. W miarę powiększania się dziennika transakcji, najpierw zapełniany jest pierwszy plik, następnie kolejny itd. Dlatego dodany plik dziennika może zostać użyty dopiero po zapełnieniu pozostałych plików.
Po dodaniu pliku staje się on natychmiast dostępny do użycia przez bazę danych. Dodając plik do bazy danych, można określić jego wielkość. Jeśli wielkość nie zostanie podana dla głównego pliku, aparat bazodanowy użyje wielkości głównego pliku bazy danych model. Jeśli wskazany zostanie dodatkowy plik danych lub dziennika, ale bez podania jego wielkości, aparat bazodanowy ustawi tę wielkość na 1 MB. Wielkość określona dla pliku głównego musi co najmniej dorównywać wielkości głównego pliku bazy danych model. Więcej informacji można znaleźć w dokumencie model Database (j.ang.).
Można ustawić maksymalną wielkość, do jakiej plik może się rozszerzyć po wyczerpaniu miejsca. Można także ustawić wielkość, o jaką jednorazowo ma sie rozszerzać plik po wyczerpaniu miejsca. Jeśli nie zostanie określona maksymalna wielkość, plik będzie się rozszerzać do zapełnienia dysku. Jeśli jednorazowa wielkość przyrostu nie zostanie określona, używana będzie wartość domyślna, czyli 1 MB dla plików danych i 10% dla plików dziennika. Minimalna wartość to 64 KB.
Można wskazać grupę plików, do której należy plik. Grupy plików to nazwane kolekcje plików, używane do upraszczania rozmieszczania danych i wykonywania zadań administracyjnych, takich jak tworzenie kopii zapasowe i ich przywracanie. Więcej informacji można znaleźć w dokumencie Using Files and Filegroups (j.ang.).
Usunięcie pliku danych lub dziennika transakcji powoduje jego skasowanie w bazie danych. Nie można usunąć pliku z bazy danych, jeśli znajdują się w nim dane lub informacje dziennika transakcji; przed usunięciem plik musi być całkowicie pusty. Aby usunąć dane z pliku, przenosząc je do innych plików tej samej grupie, można użyć instrukcji DBCC SHRINKFILE (j.ang.) z klauzulą EMPTYFILE. Ponieważ aparat bazodanowy nie pozwala na umieszczanie danych w pliku po wykonaniu operacji zmniejszania, pusty plik można usunąć za pomocą instrukcji ALTER DATABASE (j.ang.) lub narzędzia SQL Server Management Studio (j.ang.).
Danych dziennika transakcji nie można przenieść z jednego pliku do drugiego, aby opróżnić pierwszy z nich. Aby usunąć nieaktywne transakcje z dziennika, należy zastosować funkcję obcinania lub utworzyć kopię zapasową pliku. Kiedy plik nie zawiera już aktywnych ani nieaktywnych transakcji, można go usunąć z bazy danych. Dodatkowe informacje można znaleźć w dokumencie Managing the Transaction Log (j.ang.).
| Ważne: |
Bezpośrednio po dodaniu lub usunięciu plików należy utworzyć kopię zapasową bazy danych. Kopię zapasową dziennika transakcji należy utworzyć dopiero po utworzeniu pełnej kopii zapasowej bazy danych. |