Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Katalog danych

Termin Definicja
Katalog danych

Katalog danych to lokalizacja przechowywania plików MDF, w których zapisana jest właściwa zawartość bazy.

Rola katalogu danych w SQL Server

Katalog danych w kontekście Microsoft SQL Server jest folderem systemu plików, w którym znajdują się pliki używane przez konkretną bazę danych. Podstawowym plikiem danych jest plik MDF, czyli plik główny zawierający między innymi tabele, indeksy, metadane oraz alokowane strony danych. Baza może mieć także dodatkowe pliki NDF. Nie są one zapisane w jednym obowiązkowym miejscu dla wszystkich instalacji, ponieważ administrator może wskazać inną lokalizację podczas tworzenia bazy albo później przenieść pliki.

Katalog danych nie jest tym samym co nazwa bazy ani logiczna nazwa pliku. SQL Server rozróżnia nazwę logiczną pliku, nazwę fizyczną na dysku i rolę pliku w bazie. Informacje o tych elementach można odczytać z widoku sys.master_files, a dla aktualnie używanej bazy również z sys.database_files. Właściwa lokalizacja pliku jest przechowywana w kolumnie physical_name. Dzięki temu można ustalić, czy plik MDF rzeczywiście znajduje się w katalogu wskazywanym w dokumentacji lub konfiguracji serwera.

Pliki MDF, NDF i LDF w jednej konfiguracji

Typowa baza SQL Server korzysta co najmniej z pliku danych MDF oraz pliku dziennika transakcji LDF. MDF przechowuje właściwą zawartość bazy, natomiast LDF rejestruje operacje potrzebne do zapewnienia spójności transakcji i odtwarzania zmian po awarii. Plik LDF może znajdować się w tym samym katalogu co MDF, ale nie jest częścią katalogu danych w znaczeniu zawartości danych tabel. W środowiskach, w których ważna jest wydajność i odporność na awarie, pliki danych i dzienniki często umieszcza się na odrębnych woluminach, zgodnie z możliwościami sprzętu.

Plik NDF jest dodatkowym plikiem danych. SQL Server może używać kilku plików danych zorganizowanych w grupy plików, a mechanizm alokacji przydziela strony w obrębie określonej grupy. Samo utworzenie kilku plików nie gwarantuje automatycznie proporcjonalnego przyspieszenia operacji, ponieważ rezultat zależy między innymi od układu dysków, obciążenia, rozmiarów plików i konfiguracji autowzrostu. Usunięcie lub ręczna zmiana nazwy pliku MDF, NDF albo LDF w Eksploratorze Windows powoduje, że SQL Server może utracić dostęp do bazy.

Ustalanie lokalizacji i zmiana położenia pliku

Lokalizację plików bazy można sprawdzić zapytaniem SQL odwołującym się do sys.database_files, na przykład: SELECT name, type_desc, physical_name, size FROM sys.database_files;. Wartość type_desc wskazuje, czy dany wpis dotyczy pliku danych, czy dziennika. Rozmiar jest raportowany w stronach po 8 KB, dlatego do oceny zajętości katalogu trzeba dodatkowo uwzględnić rzeczywisty rozmiar pliku w systemie plików oraz wolne miejsce na woluminie.

Przeniesienie pliku wymaga operacji kontrolowanej przez SQL Server. Administrator zmienia ścieżkę pliku w definicji bazy poleceniem ALTER DATABASE ... MODIFY FILE, następnie zatrzymuje odpowiednią bazę, przenosi plik w systemie plików i ponownie uruchamia bazę. Sama zmiana ścieżki w metadanych nie kopiuje pliku. Przed wykonaniem takiej operacji trzeba sprawdzić nazwę logiczną pliku, stan kopii zapasowych, uprawnienia konta usługi SQL Server oraz dostępne miejsce w docelowym katalogu. Po przeniesieniu należy potwierdzić, że baza otwiera się bez błędów i że ścieżka w widoku systemowym odpowiada nowej lokalizacji.

Diagnostyka problemów z katalogiem danych

Problemy z katalogiem danych mogą objawiać się komunikatami o braku pliku, niedostępnym woluminie, odmowie dostępu albo niemożności uruchomienia bazy. W pierwszej kolejności sprawdza się, czy wskazana ścieżka istnieje, czy plik MDF ma oczekiwaną nazwę i czy konto usługi SQL Server ma uprawnienia do odczytu oraz zapisu. Nie należy nadawać uprawnień przypadkowym użytkownikom ani kopiować plików bazy podczas aktywnej pracy serwera bez zrozumienia skutków takiej operacji.

Jeżeli plik został usunięty, uszkodzony albo odłączony od instancji, bezpieczną metodą odzyskania danych jest odtworzenie bazy z poprawnej kopii zapasowej. Do weryfikacji spójności można użyć polecenia DBCC CHECKDB, ale jego wynik trzeba interpretować razem z dziennikiem SQL Server i stanem kopii zapasowych. Ręczne podłączanie pojedynczego pliku MDF przez CREATE DATABASE ... FOR ATTACH nie zastępuje kopii zapasowej i może wymagać również dostępnego pliku LDF. Na komputerze używanym do diagnostyki należy także sprawdzić stan dysku, błędy systemu plików i nagłe wyłączenia, ponieważ awaria sprzętowa może uszkodzić zarówno plik danych, jak i dziennik transakcji.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę