Udostępnij za pośrednictwem


Definicja składników według składników zapisywania

Składniki są definiowane i tworzone przez autorów w dokumencie metadanych składnika zapisywania w odpowiedzi na Identyfikowanie zdarzeń na początku operacji tworzenia kopii zapasowej (zobacz Omówienie inicjowania kopii zapasowej) po wypełnieniu dokumentu metadanych składnika zapisywania.

Podczas tworzenia składnika w dokumencie metadanych składnika zapisywania przy użyciu IVssCreateWriterMetadata i IVssCreateWriterMetadata::AddComponent, składnik zapisywania musi określić:

  • Czy składnik jest można wybrać dla kopii zapasowej
  • Typ składnika
  • Nazwa składnika (która musi być unikatowa nie tylko w obrębie danego wystąpienia składnika zapisywania ale we wszystkich wystąpieniach składnika zapisywania)
  • Czy składnik ma skojarzone metadane specyficzne dla modułu zapisywania
  • Czy moduł zapisywania wymaga powiadomienia po pomyślnym utworzeniu kopii zapasowej

Autorzy mogą opcjonalnie określić:

  • Ścieżka logiczna składnika (która musi być unikatowa nie tylko w danym wystąpieniu składnika zapisywania, ale we wszystkich wystąpieniach składnika zapisywania)
  • Opis składnika (lub podpis)
  • Ikona, która ma być używana z interfejsami GUI w celu wskazania składnika

Składnik nie musi zawierać żadnych plików. Ten rodzaj pustego lub "fikcyjnego" składnika może być przydatny w organizowaniu składników. Taki składnik może służyć do definiowania zestawu składników i składnika składnika składnika zapisywania (zobacz Logiczne ścieżki składników).

Konfigurowanie organizacji składników

Ustawianie możliwości wyboru składnika (jego możliwości wyboru kopii zapasoweji jego możliwości wyboru przywracania) i jego ścieżek logicznych umożliwia modułowi zapisywania mandat lub opcjonalne włączenie niektórych składników w operacji tworzenia kopii zapasowej lub przywracania, a także grupowanie składników w zestawów składników z jednym wybranym składnikiem działającym jako punkt wejścia do całości grupa.

Członkostwo w tych grupach określa, które składniki będą używane podczas operacji tworzenia kopii zapasowych i przywracania. Używając opcji "selectable", aby oznaczać możliwość wyboru dla kopii zapasowej dla operacji tworzenia kopii zapasowej i można wybrać opcję przywracania dla operacji przywracania, deweloperzy powinni zrozumieć, że:

  • Jeśli kopie zapasowe składników zarządzanych przez dany składnik zapisywania są tworzone, żądanie musi jawnie dołączyć wszystkie niewyznawalne składniki bez wybierania elementów podrzędnych w ich ścieżki logicznej do dokumentu składniki kopii zapasowej i tworzenia kopii zapasowych i przywracania tych składników jako grupy.
  • Żądający ma możliwość jawnego dodawania składników możliwych do wybrania do dokumentu Składniki kopii zapasowej podczas operacji tworzenia kopii zapasowej i przywracania; Po dodaniu składnik musi być kopii zapasowej lub przywrócony.
  • Jeśli składnik można wybrać, składnik i wszystkie jego podskładniki (zgodnie ze ścieżkami logicznymi) tworzą zestaw składników, który może być traktowany jako pojedyncza jednostka, która może opcjonalnie uczestniczyć w operacjach tworzenia kopii zapasowych i przywracania.
  • Moduł żądający nigdy nie dodaje jawnie niewyznawalnego składnika z wybranymi elementami nadrzędnymi, podskładnikiem w zestawie składników, do dokumentu składników kopii zapasowych podczas operacji tworzenia kopii zapasowych i przywracania. Te składniki muszą być niejawnie dołączone, jeśli ich element nadrzędny z możliwością wyboru jest jawnie dodawany, w tym przypadku należy utworzyć kopię zapasową lub przywrócić (zobacz Use of Components by the Requester).
  • Wybrany składnik z wybranym modułem nadrzędnym jest nadal podskładnik (element członkowski zestawu składników) i może być niejawnie uwzględniony, jeśli jego selektor przodków jest jawnie uwzględniony w operacji. W takim przypadku jego informacje nie są dodawane do dokumentu Składniki kopii zapasowej. Jeśli wybrany moduł przodków nie jest uwzględniony w operacji, składnik można jawnie wybrać do włączenia do operacji, w tym przypadku informacje zawarte w dokumencie Składniki kopii zapasowej.
  • Podskładniki niejawnie uwzględnione w kopii zapasowej mogą być jawnie uwzględnione w operacji przywracania, niezależnie od stanu dowolnego wybranego modułu przodków, jeśli można go wybrać do przywrócenia. Wszystkie możliwe do wyboru dla podskładu przywracania uwzględnione podczas operacji przywracania muszą mieć informacje dodane do dokumentu Składniki kopii zapasowej.
  • Składnik zapisywania, który nie ma jawnie dodanego składnika do dokumentu Składniki kopii zapasowej przed wygenerowaniem PrepareForBackup i PreRestore zdarzeń, nie będzie otrzymywać żadnych dalszych zdarzeń usługi VSS.

Aby uzyskać więcej informacji, zobacz Praca z możliwościami wybierania i ścieżkami logicznymi.

Dodawanie plików do składnika

Składnik zawiera informacje o pliku w postaci zestawu plików zawierającego:

  • Katalog główny plików w składniku.
  • Specyfikacja pliku dla plików w składniku.
  • Flaga wskazująca, czy specyfikacja składnika jest rekursywna.

W zależności od typu składnika, który może być bazą danych lub grupą plików, i (w przypadku składników bazy danych), czy pliki do załadowania są danymi lub plikami dziennika, moduł zapisywania wywołuje IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles, lub IVssCreateWriterMetadata::AddDatabaseLogFiles dodać zestaw plików.

W przypadku korzystania z tych funkcji należy określić pliki do dodania do zestawu plików w następujący sposób:

  • wszPath: jest to ścieżka do katalogu zawierającego pliki, które mają zostać dodane do zestawu plików. Jeśli parametr bRecursive jest ustawiony na true, parametr wszPath określa hierarchię katalogów do przechodzenia cyklicznego, a wszystkie katalogi powinny zostać ponownie utworzone, w tym puste katalogi.
  • wszFilespec: ten ciąg określa pliki w każdym katalogu, które mają zostać dodane do zestawu plików.

Załóżmy na przykład, że istnieje następująca struktura katalogów:

C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt C:\\Directory1\\Directory3\\

Jeśli składnik zapisywania określa wartość "C:\Directory1" dla wszPath, "File1.*" dla wszFilespeci true dla bRecursive, obiekt żądający powinien zawierać następujące pliki:

C:\Directory1\\File1.txt C:\Directory1\\Directory2\\File1.txt

Jeśli zamiast tego składnik zapisywania określa wartość "C:\Directory1" dla wszPath, "*" dla wszFilespeci true dla bRecursive, obiekt żądający powinien zawierać następujące pliki:

C:\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt

Jeśli składnik zapisywania określa wartość "C:\Directory1" dla wszPath, "*" dla wszFilespeci false dla bRecursive, obiekt żądający powinien zawierać następujące pliki:

C:\Directory1\\File1.txt C:\\Directory1\\File2.txt

We wszystkich powyższych przykładach zawsze, gdy składnik zapisywania określa true dla bRecursive, pusty katalog C:\Directory1\Directory3\ powinien zostać ponownie utworzony.

W przypadku zestawu plików dodanego do składnika grupy plików w przypadkach, gdy pliki aktualnie na dysku nie znajdują się w tym, co składnik zapisywania rozważy odpowiednią lub domyślną lokalizację, składnik zapisywania ma możliwość dodania alternatywnej ścieżki. W takich przypadkach definicja zestawu plików ścieżki zawiera normalną lokalizację plików i miejsca przywracania plików, podczas gdy ścieżka alternatywna zawiera bieżącą lokalizację plików do utworzenia kopii zapasowej.

Wszystkie pliki w zestawie plików muszą istnieć w momencie tworzenia kopii zapasowej. Osoby żądające muszą założyć, że wszystkie pliki wymienione w zestawie plików są wymagane do utworzenia kopii zapasowej i jeśli brakuje żadnych plików, tworzenie kopii zapasowej zakończy się niepowodzeniem. Należy pamiętać, że gdy parametr "*" jest określony dla parametru wszFilespec, może on odpowiadać zero lub więcej plików.

Należy pamiętać, że takie atrybuty dokumentu metadanych modułu zapisywania jako mapowania lokalizacji alternatywnej, jawnie dołączone i wykluczone pliki oraz metody przywracania są ustawiane na poziomie modułu zapisywania, a nie na poziomie składnika. (Aby uzyskać więcej informacji, zobacz Praca z dokumentem metadanych modułu zapisywania.)

Definicja składnika na potrzeby operacji tworzenia kopii zapasowych i przywracania

Zarówno operacje przywracania, jak i tworzenia kopii zapasowych muszą generować Zidentyfikuj zdarzenie, a w przypadku kopii zapasowych i przywracania będą obsługiwane przez tę samą metodę CVssWriter::OnIdentify.

Podczas operacji tworzenia kopii zapasowych osoby żądających używają informacji zwracanych przez moduł zapisywania CVssWriter::OnIdentify metod, aby określić, którzy autorzy znajdują się w systemie, a następnie określić, które z ich plików mają być tworzone kopie zapasowe.

Podczas operacji przywracania informacje zwracane przez składnik zapisywania CVssWriter::OnIdentify zdarzenia są używane tylko do ustanowienia tożsamości i stanu składników zapisywania obecnych obecnie w systemie; informacje o specyfikacji pliku wygenerowane podczas przywracania nie są używane. Zamiast tego dokumenty metadanych składnika zapisywania przechowywane w czasie tworzenia kopii zapasowej są używane do uzyskiwania tych danych.

Po wygenerowaniu podczas operacji tworzenia kopii zapasowej informacje o składniku zapisywania wraz z pozostałymi informacjami o składniku zapisywania są zapisywane w celu obsługi operacji przywracania. Zazwyczaj użytkownik żądający musi przechowywać te informacje.