Nie można przywrócić z Shadow Copy z powodu długiej nazwy pliku

18

Mamy włączone kopiowanie w tle na naszym serwerze Windows SBS 2008. Próba przywrócenia pliku z kopii w tle dała następujący błąd:

Nazwy plików źródłowych są większe niż obsługiwane przez system plików. Spróbuj przenieść się do lokalizacji, która ma krótszą nazwę ścieżki, lub spróbuj zmienić nazwę na krótszą nazwę (nazwy) przed próbą wykonania tej operacji.

Nazwa pliku ma 67 znaków, a ścieżka kopiowania w tle to 170 znaków. Te wydają się być poniżej limitów NTFS (260?).

Próbowaliśmy-

  • Kopiowanie do najkrótszej możliwej ścieżki (C :)
  • Kopiowanie do najkrótszej możliwej ścieżki zarówno na komputerze klienckim, jak i na samym serwerze

Czy przed wykonaniem kopii można zmienić nazwy plików w kopii w tle? Masz pojęcie, dlaczego pojawia się błąd, mimo że rozmiar pliku wydaje się mieścić w limitach?

Podjęte kroki

  1. Na komputerze lokalnym przejdź do folderu współdzielonego na serwerze SBS (za pośrednictwem zmapowanego dysku), np. J: \ Projects \ Foo \ Bar
  2. Kliknij folder prawym przyciskiem myszy i wybierz Właściwości
  3. Kliknij kartę Poprzednie wersje .
  4. Wybierz kopię w tle i kliknij Otwórz
  5. W nowo otwartym oknie wybierz folder / plik i naciśnij Ctrl-C, aby skopiować.
  6. Otwórz nowy Eksplorator Windows i wklej folder / plik na dysk lokalny.

Edytuj- (Nie) na szczęście nie mogę teraz odtworzyć tego błędu. Poszczególne pliki powodujące problem zostały usunięte i nie można odtworzyć błędu z innymi podobnymi plikami.

Spongeboy
źródło
Czy potrafisz dokładnie określić, gdzie ustawiasz swoje kopie w tle i jak próbujesz je przywrócić (krok po kroku)? Patrzę na to, ale potrzebuję pomocy w zrozumieniu, w jaki sposób uzyskujesz dostęp do tego jako pierwszego.
Holocryptic
Dodałem kroki użyte do próby przywrócenia. To jedyna metoda, o której wiem - czy są jeszcze inne?
Spongeboy

Odpowiedzi:

23

Miałem dokładnie ten sam problem w Server 2008 R2 i tak go rozwiązałem:

  1. Kliknij prawym przyciskiem myszy folder, który próbujesz przywrócić z kopii w tle, i wybierz Poprzednie wersje . Wybierz datę i kliknij Otwórz .
  2. Kliknij prawym przyciskiem myszy dowolny plik lub folder w poprzednim folderze i wybierz Właściwości . Na karcie Ogólne skopiuj to, co pokazano w „lokalizacji”, np .: \\localhost\D$\@GMT-2011.09.20-06.00.04\_Data
  3. Otwórz cmd.exe i wpisz:

    subst X: \\localhost\D$\@GMT-2011.09.20-06.00.04\_Data
    
  4. Otwórz PowerShell i użyj robocopy, aby skopiować zawartość X: np .:

    robocopy Z: D:\Folder\ /E /COPYALL
    
  5. Sprawdź, czy wszystkie pliki zostały skopiowane.
  6. Po zakończeniu wpisz subst X: /D in cmd
Vilhelm
źródło
Zrobiłem to i potwierdziłem, że działa.
Jake,
3
W rzeczywistości ROBOCOPY nie ma limitu 256 ścieżek. Może nie potrzebować SUBST, jeśli używasz ROBOCOPY.
Jake
Mogę potwierdzić, że SUBST nie jest potrzebny podczas korzystania z ROBOCOPY.
Nic
Użycie SUBSTjest przydatne, jeśli potrzebujesz dostępu z linii poleceń do zawartości kopii w tle i niekoniecznie chcesz coś kopiować.
Mówię: Przywróć Monikę
nie masz na myśli „robocopy X:”?
Nullldata
3

Czy próbowałeś udostępnić folder, z którego próbujesz przywrócić? W ten sposób możesz spróbować otworzyć \ serwer \ udział \ nazwa pliku zamiast \ serwer \ udział \ ścieżka .... \ nazwa pliku?

Jeśli to nie zadziała, proponuję spróbować uzyskać dostęp do woluminów za pomocą wiersza polecenia, w którym można użyć \\?\metody dostępu, która ma ograniczenie do 32 767 znaków .

Zoredache
źródło
Nie mam opcji udostępniania kopii w tle. Kiedy mam otwarty folder cienia (np. Statystyki (wczoraj, 6 lipca 2011 r., 12:00)), nie mam opcji udostępniania we właściwościach folderu. W tej chwili nie mogę odtworzyć problemu, ale dziękuję za link do uzyskiwania dostępu do woluminów cienia za pomocą wiersza polecenia!
Spongeboy,
Świetnie, usunąłem folder z folderu share \\ computer \ c $ \. Dziękuję Ci. +1
Vasyl Zvarydchuk
0

Czy możesz uzyskać nazwę / ścieżkę pliku kopii w tle z pozycji „lokalizacja” karty ogólnej w oknie informacyjnym Właściwości, a następnie użyć polecenia „subst”, aby skrócić długą ścieżkę do pojedynczej litery?

subst Z: "H: \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ Lubię tworzyć głupie nazwy katalogów, które są bardzo długie \ 8 \ 9"

katalog Z: jest taki sam jak katalog „H: \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ Lubię tworzyć głupie nazwy katalogów, które są bardzo długie \ 8 \ 9”

Interociter Operator
źródło