Skip to main content
This guide moves data, roles, and configuration from an existing Windows Server to an Arct Cloud Windows Server. Read the migration overview first.
Windows Server images are offered on plans with 2 or more vCPUs. Windows images deploy in 2 to 4 minutes, depending on the image size.
Stop or pause any service that writes while you copy its data. Anything written after the copy starts is left behind. See why a clean target beats a disk clone.

Deploy the Target Server

Deploy a Windows Server image on a plan with at least the disk and memory the source uses. See Deploy a Server, then connect over RDP as Administrator.

Install Roles and Features First

Export the source server’s role list in PowerShell:
Install the ones you need on the Arct Cloud server:
Reboot if the installer asks for it, before you copy any data.

Transfer Files

Do not expose SMB (port 445) to the public internet to run a file copy. Transfer over SSH or through storage you already trust.
Compress the data on the source, then pull it over SSH. The OpenSSH client ships with Windows Server 2019 and later:
From the Arct Cloud server:
If both servers sit on a private network or VPN, robocopy is faster for repeat syncs and preserves ACLs:
/MIR deletes files in the destination that no longer exist in the source. Confirm the destination path before running it.

Move IIS Sites

Export the site configuration on the source:
Copy both files across, then import them in this order:
Application pool identities do not carry passwords across. Reset them under IIS Manager > Application Pools > Advanced Settings.

Move SQL Server Databases

Back up each database on the source:
Copy the .bak file to the Arct Cloud server and restore it:
SQL logins are stored on the instance, not in the database, so recreate them and repair the orphaned users:
Restore to the same SQL Server major version or newer. A backup cannot be restored to an older version.

Scheduled Tasks, Users, and Firewall

Export a scheduled task on the source and recreate it on the target:
Export the firewall policy and import it on the new server:
Recreate local users and group memberships by hand. Local account passwords do not transfer.

Verify Before DNS

Add an entry to C:\Windows\System32\drivers\etc\hosts on your own machine, opened in an elevated editor:
Browse the site, sign in, and check Event Viewer > Windows Logs > Application for errors. Remove the entry after testing.

Cut Over

1

Stop Writes on the Source

Stop the site in IIS Manager so no new data lands on the old server.
2

Run a Final Copy

Repeat the file transfer and take a fresh database backup and restore.
3

Update DNS

Change the A and AAAA records to the new IP. See Website and DNS Migration.
4

Watch the New Server

Follow Event Viewer and the metrics on the server detail page for the first hour.
5

Decommission the Source

Keep the old server for a few days, then run the checks before you delete it.

Troubleshooting

The application pool stopped. Open IIS Manager > Application Pools and check the identity credentials, which do not survive an appcmd import.
The database user is orphaned from its instance login. Run ALTER USER [name] WITH LOGIN = [name]; against the restored database.
Confirm the server status is Running, then use the VNC Console on the server detail page to check that Remote Desktop and the firewall rule are enabled. See Connect via RDP.
/COPYALL needs backup privileges. Run the shell as Administrator, or drop to /COPY:DAT if you do not need to preserve auditing and ownership data.
The task was imported without stored credentials. Recreate it with /ru and /rp so the password is set on the new server.