Thursday, May 28, 2026

SharePoint 2019 to SharePoint Subscription Edition (SE) – Database Attach Upgrade (Step-by-Step)

 SharePoint 2019 to SharePoint Subscription Edition (SE) – Database Attach Upgrade (Step-by-Step)



Database Attach Upgrade is the most recommended migration approach from Microsoft SharePoint Server 2019 to Microsoft SharePoint Server Subscription Edition.

 

High-Level Upgrade Flow

SP2019 Farm
   |
   |  Backup Content DBs
   v
SQL Restore
   |
   v
New SPSE Farm
   |
   | Mount-SPContentDatabase
   v
Upgrade Sites & Validate

 

Phase 1 — Pre-Upgrade Assessment

Step 1: Verify Existing SP2019 Farm Health

Run Health Analyzer and check:

  • Timer Jobs
  • Search Crawl
  • Distributed Cache
  • Service Applications
  • IIS Bindings
  • Certificates
  • SQL Connectivity

Important Commands

Get-SPFarm
Get-SPServer
Get-SPDatabase
Get-SPSite -Limit All

 

Step 2: Check Build Version Compatibility

SP2019 must be on supported patch level before migrating.

Check Build

(Get-SPFarm).BuildVersion

Compare with Microsoft compatibility matrix.

 

Step 3: Run Pre-Upgrade Check

Test-SPContentDatabase -Name WSS_Content_Intranet `
-WebApplication http://sp2019web `
-Server SQLPROD01

OR

stsadm -o preupgradecheck

 

Step 4: Inventory Existing Components

Document:

Component

Example

Web Applications

Intranet

Content DBs

WSS_Content

Service Apps

Search, MMS

Solutions (.wsp)

Custom WSPs

Features

Farm/Sandbox

Workflows

2010/2013

Customizations

Master Pages

Authentication

NTLM/Kerberos/SAML

 

Step 5: Identify Unsupported Components

Major challenge areas:

Area

Risk

SharePoint 2010 workflows

Deprecated

InfoPath

Limited future support

Sandbox solutions

May fail

Full Trust Solutions

Compatibility issues

Classic Authentication

Migration needed

Third-party WSPs

Rebuild required

 

Phase 2 — Build New SharePoint SE Farm

Step 6: Prepare New Infrastructure

Recommended Servers

Server

Purpose

APP01

Central Admin + Services

WFE01

Web Front End

SQL01

Databases

 

Step 7: Install Prerequisites

Install:

  • Windows Server
  • SQL Native Client
  • IIS Features
  • .NET Framework
  • Web Server Roles

 

Step 8: Install SharePoint SE

Install binaries on all servers.

Then run:

psconfig.exe

OR SharePoint Products Configuration Wizard.

 

Step 9: Create New SPSE Farm

New-SPConfigurationDatabase `
-DatabaseName SharePoint_Config `
-DatabaseServer SQLSE01 `
-Passphrase (ConvertTo-SecureString "Password@123" -AsPlainText -Force) `
-FarmCredentials (Get-Credential)

 

Step 10: Configure Service Applications

Create:

  • Managed Metadata
  • Search
  • User Profile
  • State Service
  • Distributed Cache

 

Phase 3 — Database Migration

Step 11: Set Source Farm Read-Only (Optional but Recommended)

Set-SPSite -Identity http://portal/sites/hr -LockState ReadOnly

Purpose:

  • Prevent content changes
  • Avoid delta mismatch

 

Step 12: Backup Content Databases from SP2019 SQL

Using SQL Server:

BACKUP DATABASE WSS_Content_Intranet
TO DISK='D:\Backup\WSS_Content_Intranet.bak'

 

Step 13: Restore Databases into New SQL Server

RESTORE DATABASE WSS_Content_Intranet
FROM DISK='D:\Backup\WSS_Content_Intranet.bak'

 

Phase 4 — Attach Databases in SPSE

Step 14: Create Web Applications in SPSE

VERY IMPORTANT:

  • URL must match old farm if possible
  • Authentication method should match

Example:

New-SPWebApplication `
-Name "Intranet" `
-Port 80 `
-URL http://intranet `
-ApplicationPool "IntranetPool" `
-ApplicationPoolAccount (Get-SPManagedAccount "domain\spfarm")

 

Step 15: Validate Database Before Mount

Test-SPContentDatabase `
-Name WSS_Content_Intranet `
-WebApplication http://intranet

Typical Errors

Error

Meaning

Missing Feature

WSP not installed

Missing Setup File

Custom solution absent

Missing Web Part

Third-party issue

 

Step 16: Install Missing Solutions

Example:

Add-SPSolution CustomSolution.wsp

Install-SPSolution `
-Identity CustomSolution.wsp `
-GACDeployment

 

Step 17: Mount Content Database

Mount-SPContentDatabase `
-Name WSS_Content_Intranet `
-DatabaseServer SQLSE01 `
-WebApplication http://intranet

This performs:

  • Database schema upgrade
  • Site collection upgrade
  • Feature upgrade

 

Step 18: Monitor Upgrade Status

Get-SPUpgradeSessionInfo

Logs location:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\LOGS

 

Phase 5 — Post Upgrade Validation

Step 19: Validate Sites

Check:

  • Site accessibility
  • Pages
  • Libraries
  • Permissions
  • Search
  • Navigation
  • Branding
  • Workflows

 

Step 20: Rebuild Search Index

Recommended after migration.

Get-SPEnterpriseSearchServiceApplication

Reset crawl if needed.

 

Step 21: Verify Services

Validate:

Service

Validation

Search

Crawl success

MMS

Terms visible

UPA

Profile sync

Cache

No errors

SMTP

Alerts working

 

Step 22: Upgrade Site Collections (If Required)

Upgrade-SPSite http://intranet

 

Step 23: Run Health Checks

Get-SPHealthAnalysisRule

Central Admin → Monitoring → Review Problems & Solutions

 

Real-Time Production Upgrade Scenario

Example

Old Environment

Component

Value

SharePoint Version

SP2019

Databases

12 Content DBs

Size

4 TB

Users

18,000

Authentication

Kerberos

Migration Approach

  1. Build parallel SPSE farm
  2. Install all custom WSPs
  3. Freeze source farm
  4. Backup & restore DBs
  5. Attach DBs one-by-one
  6. Validate business applications
  7. DNS cutover

 

Common Real-Time Challenges

1. Missing Features

Error

Database contains references to missing features

Fix

Deploy missing WSPs.

 

2. Large Content Databases

Issue

Mount takes several hours.

Fix

  • Split DBs
  • Use high IOPS storage
  • Pre-grow SQL files

 

3. Orphan Objects

Detection

Get-SPContentDatabase | % {$_.Repair($true)}

 

4. Authentication Failures

Common Cause

Kerberos SPNs missing.

Fix

Re-register SPNs.

 

5. Search Not Working

Cause

Old index not migrated.

Fix

Full crawl required.

 

Best Practices

Recommended

✅ Build fresh SPSE farm

✅ Patch all servers equally

✅ Use MinRole properly

✅ Test in lower environments first

✅ Perform trial migrations

✅ Keep rollback plan ready

✅ Use SQL backups instead of detach method

✅ Document every DB mapping

 

Important Commands Summary

Task

Command

Validate DB

Test-SPContentDatabase

Mount DB

Mount-SPContentDatabase

Upgrade Site

Upgrade-SPSite

Check Upgrade

Get-SPUpgradeSessionInfo

Add Solution

Add-SPSolution

Install Solution

Install-SPSolution


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.