Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

2003 Server to 2008 Server file migration

Posted on 2009-05-16
18
2,403 Views
Last Modified: 2012-05-07
I am moving files from a 2003 Server to a 2008 Server but am getting file length errors. The users have created really long folder names and the files are burried in subfolders. Is there a different limit on file/directory name lengths and is there an easy way to get around this without havign to rename a thousand directories?
0
Comment
Question by:judsoncollege
  • 9
  • 8
18 Comments
 
LVL 84

Expert Comment

by:oBdA
ID: 24402921
Simply use robocopy.exe (should be included in W2k8, the W2k8 version should be running on W2k3 as well, and just in case the ResKit download below). robocopy will handle long file names, permissions, will *by* *default* not copy same files that already exist in the target, ...
Windows Server 2003 Resource Kit Tools
http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
0
 
LVL 84

Accepted Solution

by:
oBdA earned 500 total points
ID: 24402930
Keep forgetting to mention that there are GUI wrappers available if you feel uncomfortable with the command line:

RoboCopy GUI 1.0.0.24
http://www.softpedia.com/get/System/OS-Enhancements/RoboCopy-GUI.shtml

Utility Spotlight Robocopy GUI
http://technet.microsoft.com/en-us/magazine/cc160891.aspx
0
 

Author Comment

by:judsoncollege
ID: 24403008
So, if I run robocopy on the 2008 server, do I just make the source directory a share on the 2003 server? Is there a best way to do that or just map a drive or point to the share on the network?
0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 

Author Comment

by:judsoncollege
ID: 24403041
Also, do I have to point the robocopy GUI to where robocopy is? The Start Copy button is disabled. Not sure where the robocopy executable is.
0
 
LVL 84

Expert Comment

by:oBdA
ID: 24403068
You can use a local drive, a mapped drive, UNC, doesn't matter.
Note the slightly different syntax of robocopy: the first argument ist the source *folder*, the second the target *folder*, only then the file(s) to copy (*.* by default).
Maybe some other best practices:
* You might want to use /r and /w to set the retry and wait values to something reasonable for a LAN connection (/r:1 and /w:1, for example); robocopy has its name from "robust copy", you can use it over WAN lines as well without it losing it when the connection cuts off.
* You might want to use /log:<file> to have a complete log of what happened (use /tee to have the output in the console as well). Depending on the number of files you're transferring, you might want to use /nfl and /ndl, which will prevent *successful* copies to appear in the log; failures will still be logged.

Yes, the GUI will need to know where the executable is. Assuming you can run it from the command line, you can save the script below as where.cmd and run
where robocopy.exe
to find the location.
@echo off
set where=%~$PATH:1
if "%where%"=="" set where='%~nx1' not found in path
echo %where%

Open in new window

0
 

Author Comment

by:judsoncollege
ID: 24403259
Tried running where.exe and got the following message:

'where.cmd' is not recognized as an internal or external command,
operable program or batch file.

It looks like it is supposed to exist in C:\windows but I am not seeing it. Is it possible it wasn't installed on the 2008 Server?
0
 
LVL 84

Expert Comment

by:oBdA
ID: 24403284
Can you run robocopy on the W2k8 machine from a command prompt to start with?
robocopy /?
should return the help, and XP028 as version at the beginning.
Then you have to run the "where" command either in the same folder in which you saved the script, or specify the folder name:
C:\temp\where.cmd robocopy.exe
0
 

Author Comment

by:judsoncollege
ID: 24403361
Thanks oBdA. I found it in system32. So, I startedt the copy process, but all that came up was a RoboCopy Console that shows the path to the log file and just sits there. It doesn't look like it's doing anything,
0
 
LVL 84

Expert Comment

by:oBdA
ID: 24403376
Whether you see something depends on the options you choose.
Are you using /tee as I recommended above?
Have you checked whether there are entries generated in the log file (you can open it in notepad while robocyop is running--just don't save ...)?
Have you checked whether the target folder is actually filling?
0
 

Author Comment

by:judsoncollege
ID: 24403418
I looked at the target drive and nothing is there. The log file from the first run is empty, but it created another one. This is what it says:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows                              
-------------------------------------------------------------------------------

  Started : Sat May 16 12:42:41 2009

   Source : \\Server\Company\
     Dest : E:\Company\

    Files : *.*
          
  Options : *.* /S /E /COPY:DATSO /ZB /NP /R:10 /W:30

------------------------------------------------------------------------------

ERROR : You do not have the Backup and Restore Files user rights.
*****  You need these to perform Backup copies (/B or /ZB).

ERROR : Robocopy ran out of memory, exiting.
ERROR : Invalid Parameter #%d : "%s"

ERROR : Invalid Job File, Line #%d :"%s"


  Started : %hs

   Source %c

     Dest %c
       Simple Usage :: ROBOCOPY source destination /MIR

             source :: Source Directory (drive:\path or \\server\share\path).
        destination :: Destination Dir  (drive:\path or \\server\share\path).
               /MIR :: Mirror a complete directory tree.

    For more usage information run ROBOCOPY /?

                                                         
****  /MIR can DELETE files as well as copy them !
0
 
LVL 84

Expert Comment

by:oBdA
ID: 24403440
Try it directly from the command line:
robocopy \\Server\Company E:\Company /E /COPY:DATSO /NP /R:1 /W:1 /nfl /ndl /log:C:\Temp\robocopy.log
0
 

Author Comment

by:judsoncollege
ID: 24403487
That worked, but my log file is huge. It's already 4.5 MB and filled with the following message:

2009/05/16 12:59:43 ERROR 1307 (0x0000051B) Copying NTFS Security to Destination File \\server\Directory\filename
This security ID may not be assigned as the owner of this object.

Obviously the directory and filename changes, but it's just a ton of Error 1307 (0x0000051B)
0
 
LVL 84

Expert Comment

by:oBdA
ID: 24403507
Is the account you're using local administrator on the target server?
If you don't need to keep the owner information, just /copy:dats instead of /copy:datso
0
 

Author Comment

by:judsoncollege
ID: 24403534
I am using my domain account and I am a domain admin. I am very new to the way 2008 Server works, but is it possible that UAC is causing the issue? It is on, but I even lose access to the E drive if I take the Users security group out even if I add the domain admin security group to the E drive. The only way I can seem to get full access is to add the Users security group back in or add my account with full permissions.
0
 
LVL 84

Expert Comment

by:oBdA
ID: 24404323
To copy a folder structure including permissions and ownership, the account you're using will need full permissions on *all* folders (to be able to set the permissions in the first place), as well as administrative permissions on the target machine to change the owner (the user right "taking ownership" is not enough to *give* ownership).
While you're testing this, note robocopy's switches /lev:x which will only copy the folder structure x levels deep, and /create, which will only create empty files without the data (but including the permissions).
0
 

Author Closing Comment

by:judsoncollege
ID: 31582230
Thanks oBdA!
0
 
LVL 11

Expert Comment

by:jfields71
ID: 24878845
The behavior you are seeing is caused by UAC in 2008.  You need to elevate your command prompt and run robocopy from there.  Otherwise, UAC will filter your SID and run the command as a non-admin.  
0
 

Author Comment

by:judsoncollege
ID: 24929702
Thanks guys.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I was asked if I could set up a fax machine so that incoming faxes were delivered to people's Exchange inboxes and so that they could send faxes from their desktops without needing to print the document first.  I knew it was possible but I had no id…
Possible fixes for Windows 7 and Windows Server 2008 updating problem. Solutions mentioned are from Microsoft themselves. I started a case with them from our Microsoft Silver Partner option to open a case and get direct support from Microsoft. If s…
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through setting the global and backup job media overwrite and protection periods in Backup Exec 2012. Log onto the Backup Exec Central Administration Server. Examine the services. If all or most of them are stop…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question