ThisCalculator

Everyday

Windows File Server Migration Tool: How to Choose

Updated · Standard formula, shown below

Windows File Server Migration Tool: How to Choose

If you need to move files from one Windows server to another, the right tool depends on your source and destination versions, the size of your data, and whether you need to preserve permissions. Microsoft provides free built-in tools like robocopy and Storage Migration Service, while third-party utilities add scheduling, delta sync, and a graphical interface. This article explains the options, how they work, and how to pick the one that fits your migration.

What the Built-In Tools Do

Windows has included robocopy (Robust File Copy) since Windows Server 2008 and Windows Vista. It is a command-line tool that copies files and folders while preserving NTFS permissions, timestamps, and attributes. You can run it with the /MIR flag to mirror a directory tree, which is useful for copying new and changed files after an initial copy. Robocopy also supports multithreading with the /MT parameter, which can speed up transfers on modern hardware.

Another free option is Storage Migration Service (SMS), introduced in Windows Server 2019. It is a server role that automates the migration of files, folders, and security settings from a source server to a target server. SMS can inventory the source, transfer data, and then cut over by re-pointing the computer name and IP address to the new server. It works with both Windows and Linux SMB sources, and it tracks progress in a graphical console.

How Robocopy Works

Robocopy runs from a Command Prompt or PowerShell window. The basic syntax is:

robocopy <source> <destination> [options]

A common migration command is:

robocopy D:\Data E:\Data /E /COPY:DAT /DCOPY:DAT /R:3 /W:5 /MT:16
  • /E copies all subdirectories, including empty ones.
  • /COPY:DAT copies Data, Attributes, and Timestamps. Add S for Security (ACLs) and O for Owner info.
  • /DCOPY:DAT copies directory metadata.
  • /R:3 retries failed copies 3 times (default is 1 million, which can hang).
  • /W:5 waits 5 seconds between retries.
  • /MT:16 uses 16 threads for faster copying.

You can run robocopy multiple times; the second run will only copy files that changed since the first run, which is useful for minimizing downtime.

How Storage Migration Service Works

Storage Migration Service is a feature you install on a Windows Server 2019 or later machine. It uses three phases:

  1. Inventory: Scan the source server to collect data about shares, files, and security settings.
  2. Transfer: Copy the data to the target server. SMS can validate the copy and show any errors.
  3. Cutover: Move the source server’s computer name and IP address to the target, so users and applications continue to work without reconfiguration.

SMS is designed for large migrations with minimal downtime. It can also migrate local users and groups, and it works with failover clusters. However, it requires the target server to be running Windows Server 2019 or later, and the source must be accessible over SMB.

Third-Party Migration Tools

Commercial tools add convenience and features that the built-in tools lack. Some popular ones include:

  • robocopy GUI wrappers: Tools like RichCopy (free, older) or Robocopy GUI provide a visual interface for robocopy, making it easier to set options and view logs.
  • File server migration suites: Products like Migration Suite or File Server Migration Toolkit offer scheduled syncs, email notifications, and a central dashboard.
  • Cloud migration tools: If you are moving to Azure Files or another cloud provider, tools like Azure File Sync or third-party products like CloudBerry (now MSP360) help with hybrid setups.

Third-party tools are not free, but they can save time if you need to migrate many servers or require advanced reporting.

Choosing the Right Tool

Consider the following factors:

  • Source and target OS: If both are Windows Server 2019 or later, SMS is a strong choice. For older servers, robocopy is more compatible.
  • Data size: For a few hundred GB, robocopy is fine. For tens of TB, SMS or a third-party tool with parallel transfer and resumability is better.
  • Downtime tolerance: If you can afford a few hours of downtime, a one-time robocopy is enough. If you need near-zero downtime, use SMS cutover or a tool that supports continuous sync.
  • Permissions and metadata: All tools can copy NTFS permissions, but SMS also migrates local users and groups, which is important if you are moving to a new domain.
  • IT expertise: Robocopy requires comfort with command line. SMS has a GUI but requires setup. Third-party tools often have the easiest learning curve.

Common Problems and How to Avoid Them

File server migrations often hit the same issues:

  • Path length limits: Windows has a 260-character limit for paths unless you enable long paths in the registry or use the \?\) prefix. Robocopy handles long paths, but some GUI tools do not.
  • Open files: If users are active during the copy, files may be locked. Use robocopy's /B (backup mode) with appropriate privileges, or schedule the copy during off-hours.
  • Permissions errors: Ensure the account running the migration has SeBackupPrivilege and SeRestorePrivilege to copy all files and ACLs. In SMS, use a domain admin account.
  • Incomplete copies: Always run a verification pass. Robocopy returns exit codes; a code of 1 (files copied) is normal, but 8 or higher indicates errors. Check the log file.
  • Network bottlenecks: Use multiple threads (robocopy /MT) and consider a dedicated migration network segment to avoid saturating your LAN.

Costs and Licensing

Robocopy and Storage Migration Service are included with Windows Server, so there is no extra licensing cost. You only need valid licenses for the source and target servers. Third-party tools typically charge per server or per TB. Prices vary widely, so request a quote from the vendor. Some offer free trials, which is useful for testing on your data.

Safety and Best Practices

Before any migration, take these precautions:

  • Backup the source: Even if you are not deleting the source, a backup protects against accidental data loss.
  • Test in a lab: Replicate a small sample of your data to verify the tool works with your file types and permissions.
  • Document your shares and permissions: Use a script to export a list of shares, NTFS permissions, and share-level permissions. This helps you verify the migration.
  • Plan for cutover: If you are using SMS, schedule the cutover during a maintenance window and communicate with users.
  • Verify after migration: Compare file counts, sizes, and a sample of ACLs on the target vs. the source.

Incorrect ACLs are the most common post-migration issue. Always test that users can access their files after cutover.

Frequently Asked Questions

Can I use robocopy to migrate to a cloud file share?

Yes, robocopy can copy to any SMB share, including Azure Files and AWS File Storage. However, cloud shares may have different performance characteristics, and you may need to adjust the number of threads. Some cloud providers have their own sync tools that handle large data sets more efficiently.

What is the difference between robocopy and xcopy?

Robocopy is more robust: it supports multithreading, retries, mirroring, and copying NTFS permissions. Xcopy is older and does not handle long paths or large data sets as well. For server migrations, robocopy is the standard choice.

Does Storage Migration Service require the source to be Windows?

No, SMS can migrate from Linux servers that use Samba (SMB). It can also migrate from failover clusters. The source just needs to be reachable over SMB and support the necessary SMB protocol versions.

How long will my migration take?

It depends on the amount of data, the speed of your network, and the tool. A rough estimate is that a 1 TB transfer over a 1 Gbps network takes about 3 hours in ideal conditions. Real-world speeds are often lower due to disk I/O and protocol overhead. Run a test copy to get a realistic estimate.

Can I migrate file shares without changing the server name?

Yes, with Storage Migration Service you can move the computer name and IP address to the new server, so users see no change. With robocopy, you would need to manually update DNS and share paths, which is more error-prone.

What should I do if the migration fails halfway?

Most tools support resuming. For robocopy, simply run the same command again; it will skip files that were already copied. For SMS, you can restart the transfer phase. Always check the logs to identify the cause of the failure before restarting.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.