Dzienniki zmian
Aplikacja do automatycznego tworzenia kopii zapasowych jest jednym z przykładów programu, który musi sprawdzać zmiany stanu woluminu w celu wykonania zadania. Metoda siłowa sprawdzania zmian w katalogach lub plikach polega na skanowaniu całego woluminu. Jednak często nie jest to akceptowalne podejście ze względu na spadek wydajności systemu, który mógłby spowodować. Inną metodą jest zarejestrowanie przez aplikację powiadomienia katalogu (przez wywołanie FindFirstChangeNotification lub readDirectoryChangesW funkcji) dla katalogów do utworzenia kopii zapasowej. Jest to bardziej wydajne niż pierwsza metoda, jednak wymaga, aby aplikacja była uruchomiona przez cały czas. Ponadto jeśli należy utworzyć kopię zapasową dużej liczby katalogów i plików, obciążenie związane z przetwarzaniem i pamięcią dla takiej aplikacji może również spowodować spadek wydajności systemu operacyjnego.
Aby uniknąć tych wad, system plików NTFS utrzymuje dziennik zmian numeru sekwencji aktualizacji (USN). W przypadku jakichkolwiek zmian w pliku lub katalogu w woluminie dziennik zmian USN dla tego woluminu jest aktualizowany wraz z opisem zmiany i nazwą pliku lub katalogu.
Dzienniki zmian są również potrzebne do odzyskania indeksowania systemu plików, na przykład po awarii komputera lub woluminu. Możliwość odzyskania indeksowania oznacza, że system plików może uniknąć czasochłonnego procesu ponownego indeksowania całego woluminu w takich przypadkach.
W poniższych tematach omówiono dzienniki zmian.
W tej sekcji
Temat | Opis |
---|---|
rekordy dziennika zmian |
Ponieważ pliki, katalogi i inne obiekty systemu plików NTFS są dodawane, usuwane i modyfikowane, system plików NTFS wprowadza rekordy dziennika zmian w strumieniach, po jednym dla każdego woluminu na komputerze. |
używanie identyfikatora dziennika zmian |
System plików NTFS kojarzy niepodpisany 64-bitowy identyfikator z każdym dziennikiem zmian. |
tworzenie, modyfikowanie i usuwanie dziennika zmian |
Administratorzy mogą tworzyć, usuwać i ponownie tworzyć dzienniki zmian. |
uzyskiwanie dojścia woluminu dla operacji dziennika zmian |
Aby uzyskać dojście do woluminu do użycia z operacjami dziennika zmian numeru sekwencji aktualizacji (USN), wywołaj funkcję CreateFile z parametrem lpFileName ustawionym na ciąg następującego formularza: \\.\X. |
operacje dziennika zmian |
Kody kontrolek i struktury do użycia z dziennikiem zmian numeru sekwencji aktualizacji systemu plików NTFS (USN). |