SCCM Migration

Table of Contents

Replicating an existing SCCM sever requires some planning and downtime. To minimize the impact, you should provision the successor, along with all the dependencies, SQL instance and accompanying Service Packs/Cumulative Updates; this preparation work will require more effort and does will not impact the incumbent SCCM server.

There are three phases to completing a migration/recovery, which involve the preparing the successor, performing a recovery, essentially a migration, and finally some tidy up to ensure SCCM is running without any issues.

Preparation Steps

Start by preparing the successor SCCM server, replicating the required features and dependencies, including:

  1. Selecting the desired Windows Server edition, equal to the same release and edition or higher
  2. Install the latest updates and in incorporate into your existing backup solution
  3. Replicate the same drive letters and equal or greater volume capacities
  4. Replicate any required files, including NTFS and shares permissions for customized paths that your SCCM set up relies on
    1. For example, \\sccm\appstaging$ for all app package installation media, \\sccm\osstaging$ for all OS media that the Task Sequences references, etc…
    2. Exclude any SMS-specific shares that the installer generates as the restoration from the backup will re-create these, much like any SCCM installation would.
  5. Install .NET 3.5 via DISM, required IIS roles, BITS and Remote Differential Compression features
  6. Install the latest Windows 10 ADK, excluding the VAMT, ACT and SQL Express features
  7. Install the Window Server Update Service
  8. Install SQL Server with the same version, Service Pack and Cumulative Update release or greater
  9. Configure and make a backup using the SCCM backup feature under Administration
  10. In SQL Server Management Studio, backup both CM and ReportServer databases by detaching and dropping all connections first
  11. Copy both the SCCM backup and SQL backups to the new server
  12. Ensure you have a valid, full back up of the old SCCM server, then take the old server offline and delete it’s AD account
  13. Update the successor to match the predecessors host name/FQDN, IP address (if necessary) and update DNS, network firewall exceptions if the object IP details have changed and restart Windows before proceeding
  14. Grant the newly created AD account the required access to the domain
  15. Copy the *.mdf and *.ldf files to the desired locations and attach them to SQL, provide owner access to the service account and confirm the databases are functional by viewing a table in each
  16. Navigate to the backup, as a privileged user, run the following to tests the database
setup.exe /testdbupgrade CM_100

Where CM_100 is the SCCM database_site - this will take some time to confirm the database is ready for the restore; please be patient. 

Note: If you had renamed the new server with the databases already restored, you will need to rename the default instance to match the old SCCM server:

sp_dropserver <old_name>; 

sp_addserver <new_name>, local; 

Migration/Recovery Steps
  1. Once the test completes and succeeds, run setup.exe from the backup, select 'Recover a site' and follow the prompts; most values will be prefilled
  2. The re-install will proceed and take some time, as like any SCCM install. You can monitor the restore progress via SCCMSetup.log using CMTrace
Post-SCCM Migration/Recovery Steps
  1. Refer to the C:\SCCMPostRecoveryActions.html for recommended post-install tasks, namely updating all administrator and service account credentials under Administration > Security > Accounts
  2. For the Reporting Services, ensure the database, credentials are valid and delete the encryption key; restart the Reporting Service and restart Windows for SCCM Reporting site to come back online
  3. Recreate any SCCM boot media
  4. Ensure you re-apply the SCCM service account to the Distribution Point > Network Access Account, pertaining to the 0x80070002 Task Sequence error
  5. Ensure the BITS service is running; default it's Automatic (Delayed Start)
  6. Select 'Update Distribution Points' for all images
  7. Redistribute all Application Packages and Update Content for all deployments