I've been able to reproduce the problem in an isolate lab and updated Support. Veeam is unable to restore long paths, but manually copying the file works.
My testing methodology:
Start by creating an unsupported long path on a Windows Server 2012 R2 VM by using the subst command.
Code: Select all
set numbers=12345678901234567890123
set dir1=Dir_%numbers:~0,20%%numbers:~0,20%%numbers:~0,20%
set dir2=Dir_%numbers:~1,20%%numbers:~1,20%%numbers:~1,20%
set dir3=Dir_%numbers:~2,20%%numbers:~2,20%%numbers:~2,20%
set dir4=Dir_%numbers:~3,20%%numbers:~3,20%%numbers:~3,20%
mkdir C:\LongPath\%dir1%\%dir2%
subst F: C:\LongPath\%dir1%\%dir2%
mkdir F:\%dir3%\%dir4%
echo Test File > F:\%dir3%\%dir4%\TestFile.txt
subst F: /d
Backup that VM and attempt to restore it to another server (using a mount server and destination server that both support long paths)
Code: Select all
4/26/2023 10:36:00 AM Failed to restore "C:\Restore\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123\TestFile.txt": WriteFilePart error: [Failed to obtain a handler for the file: C:\Restore\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123\TestFile.txt. Failed to create new binary file [C:\Restore\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123\TestFile.txt]. Win32 error:The system cannot find the path specified. Code: 3]
While the FLR is still mounted, successfully copy the file from the mount server to the destination server, demonstrating that long paths are enabled on the mount server and destination server.
Code: Select all
net use X: \\server2019\restore
C:\>mkdir X:\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123
C:\>copy C:\VeeamFLR\Server2012R2_afa44c3f\Volume1\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123\TestFile.txt X:\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123
1 file(s) copied.
C:\>dir X: /a-d /s
Volume in drive X has no label.
Volume Serial Number is 000A-7A07
Directory of X:\LongPath\Dir_123456789012345678901234567890123456789012345678901234567890\Dir_234567890123456789012345678901234567890123456789012345678901\Dir_345678901234567890123456789012345678901234567890123456789012\Dir_456789012345678901234567890123456789012345678901234567890123
04/26/2023 10:28 AM 12 TestFile.txt
1 File(s) 12 bytes
Total Files Listed:
1 File(s) 12 bytes
0 Dir(s) 117,080,051,712 bytes free
I've never dug this deep into file-level restore errors before V12, but something isn't right.