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.