Não é possível restaurar a partir da cópia de sombra devido ao nome de arquivo longo

14

Temos cópia de sombra ativada em nosso servidor Windows SBS 2008. A tentativa de restaurar um arquivo da cópia de sombra gerou o seguinte erro -

The source file name(s) are larger than is supported by the file system. Try moving to a location which has a shorter path name, or try renaming to shorter name(s) before attempting this operation.

O nome do arquivo tem 67 caracteres e seu caminho de cópia de sombra é de 170 caracteres. Estes parecem estar sob os limites do NTFS (260?).

Nós tentamos -

  • Copiando para o caminho mais curto possível (C :)
  • Copiando para o caminho mais curto possível em um computador cliente e no próprio servidor

É possível renomear arquivos em uma cópia de sombra antes de fazer a cópia? Alguma idéia de por que o erro está aparecendo apesar do tamanho do nome do arquivo parecer estar dentro dos limites?

Medidas tomadas

  1. No computador local, vá para a pasta compartilhada no servidor SBS (via unidade mapeada), por exemplo J: \ Projects \ Foo \ Bar
  2. Clique com o botão direito na pasta e selecione Propriedades
  3. Clique na guia Versões anteriores .
  4. Selecione uma cópia de sombra e clique em Abrir
  5. Na janela aberta recentemente, selecione a pasta / arquivo e pressione Ctrl-C para copiar.
  6. Abra um novo Windows Explorer e cole a pasta / arquivo na unidade local.

Editar- (Des) felizmente, agora estou impossibilitado de reproduzir este erro. Os arquivos específicos que causam o problema já foram excluídos e não foram capazes de recriar o erro com outros arquivos semelhantes.

    
por Spongeboy 01.07.2011 / 01:48

3 respostas

18

Eu tive exatamente o mesmo problema no Server 2008 R2 e foi assim que resolvi:

  1. Clique com o botão direito na pasta que você está tentando restaurar da cópia de sombra e escolha Versões anteriores . Escolha uma data e clique em Abrir .
  2. Clique com o botão direito do mouse em qualquer arquivo ou pasta na pasta anterior e escolha Propriedades . Na guia Geral, copie o que é mostrado em "local", por exemplo: %código%
  3. Abra cmd.exe e digite:

    subst X: \localhost\D$\@GMT-2011.09.20-06.00.04\_Data
    
  4. Abra o PowerShell e use o robocopy para copiar o conteúdo de X: por exemplo:

    robocopy Z: D:\Folder\ /E /COPYALL
    
  5. Verifique se todos os arquivos foram copiados.
  6. Quando terminar, digite \localhost\D$\@GMT-2011.09.20-06.00.04\_Data
por 20.09.2011 / 12:53
3

Já tentou compartilhar a pasta da qual está tentando restaurar? Dessa forma, você pode tentar abrir \ server \ share \ filename em vez de \ server \ share \ path .... \ filename?

Se isso não funcionar, sugiro que você acesse os volumes por meio do linha de comando onde você pode usar o método \?\ para acesso, que tem um 32.767 limitação de caractere .

    
por 05.07.2011 / 19:19
0

Você pode obter o nome / caminho do arquivo de cópia de sombra a partir da entrada 'location' da guia geral na janela de informações de propriedades e usar o comando 'subst' para reduzir o caminho longo até uma única letra? / p>

subst Z: "H: \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ Eu gosto de criar nomes de diretórios estúpidos que são muito longos \ 8 \ 9"

dir Z:  é o mesmo que dir "H: \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ Eu gosto de criar nomes de diretórios estúpidos que são muito longos \ 8 \ 9"

    
por 15.03.2013 / 03:14