SharePoint 2019 Upgrade Part 4: SharePoint 2019 Upgrading Service Applications
SharePoint 2019 Upgrading Service Applications and Content Databases
In this blog post we are going to cover SharePoint 2019 Upgrade. Upgrading Service Applications databases and Content databases from SharePoint 2016:
- SharePoint 2016 Installation and Configuration.
- Upgrading Service Applications and Web Applications from SharePoint 2013 to 2016.
- SharePoint 2019 Installation and Configuration.
- Upgrading Service Applications Databases from SharePoint 2016 to 2019.
- Upgrading Content Databases and Site Collections from SharePoint 2016 to 2019.
- SharePoint Upgrade Issues
SharePoint 2019 Upgrade
SharePoint 2019 upgrade involves following activities:
- Backup 2016 databases and Restore it into 2019 environment.
- Upgrade Service Applications
- Upgrade Web Application.
Upgrade Service Applications
I've referred following MSDN article to upgrade service applications:
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/create-the-sharepoint-server-2019-farm-for-a-database-attach-upgrade
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/copy-databases-to-the-new-farm-for-upgrade-to-sharepoint-server-2019
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/upgrade-service-applications-to-sharepoint-server-2019
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/upgrade-content-databases-2019
Restore Database backups
Before restoring below mentioned services please make sure to restore corresponding database backups to SQL Server 2019 instance (SP19SQL01).
Backup Databases from SQL 2016 instance (SP16SQL01)
- Open SQL Server Management Studio on SP16SQL01 server.
- Create BackupDatabase.sql file with following commands for every SQL database
- Check and update (if required) backup file location and execute command to create backups
Restore backups to SP19SQL01
- Copy backup files into SP19SQL01 server.
- Open SQL Server Management Studio on SP19SQL01 server.
- Create RestoreDatabase.sql file with following commands for every SQL database backups
- Check and update (if required) backup file location, data file location, log file location and execute command to restore backups.
Upgrade Secure Store Service
You must record the Passphrase used in previous install of Secure Store service or if you forgot it then generate new Passphrase and update the service before taking database backup.Save the following PowerShell code in Restore-SecureStoreService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Restore Secure Store Service
$sssPassphrase = '<Passphrase
used in old installation>'
$appPoolName = 'SharePoint Web
Services System'
$dbName ='SP2019_SecureStoreService'
$serviceName ='Secure Store
Service Application'
$serviceProxyName ='Secure Store Service Application Proxy'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
if($applicationPool -ne
$null){
#Create Secure Store Service from Restored Database
$sss = New-SPSecureStoreServiceApplication -Name $serviceName
-ApplicationPool $applicationPool
-DatabaseName $dbName
-AuditingEnabled
Write-Host "Secure
Store Service Created successfully $sss ..." -ForegroundColor
Green
#Create Secure Store Service Application Proxy
$sssp = New-SPSecureStoreServiceApplicationProxy -Name $serviceProxyName
-ServiceApplication $sss
-DefaultProxyGroup
Write-Host "Secure
Store Service proxy Created successfully $sssp ..." -ForegroundColor
Green
Write-Host 'Updating
Secure Store Passphrase...' -ForegroundColor
Yellow
Update-SPSecureStoreApplicationServerKey -Passphrase $sssPassphrase
-ServiceApplicationProxy $sssp
Write-Host 'Secure
Store Passphrase updated successfully.' -ForegroundColor
Green
}
|
Upgrade Business Connectivity Service
Save the following PowerShell code in Restore-BusinessConnectivityService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Restore Business Connectivity Service
$appPoolName = 'SharePoint Web
Services System'
$dbName ='SP2019_BusinessConnectivityService'
$serviceName ='Business
Connectivity Service Application'
$serviceProxyName ='Business Connectivity Service Application Proxy'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
if($applicationPool -ne
$null){
#Create Business Connectivity Service from Restored
Database
$bcs = New-SPBusinessDataCatalogServiceApplication -Name $serviceName
-ApplicationPool $applicationPool
-DatabaseName $dbName
Write-Host "Business
Connectivity Service Created successfully $bcs ..." -ForegroundColor
Green
}
|
Upgrade Manage Metadata Service
Save the following PowerShell code in Restore-ManagedMetadataService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Restore Managed Metadata Service
$appPoolName = 'SharePoint Web
Services System'
$dbName ='SP2019_ManagedMetadataService'
$serviceName ='Managed Metadata
Service Application'
$serviceProxyName ='Managed Metadata Service Application Proxy'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
if($applicationPool -ne
$null){
#Create Managed Metadata Service from Restored
Database
Write-Host "Creating
Managed Metadata Service" -ForegroundColor
Yellow
$mms = New-SPMetadataServiceApplication -Name $serviceName
-ApplicationPool $applicationPool
-DatabaseName $dbName
Write-Host "Managed
Metadata Service Created successfully: $mms" -ForegroundColor
Green
Write-Host "Creating
Managed Metadata Service Proxy..." -ForegroundColor
Yellow
New-SPMetadataServiceApplicationProxy -Name $serviceProxyName
-ServiceApplication $mms
-DefaultProxyGroup
Write-Host "Managed
Metadata Service proxy Created successfully" -ForegroundColor Green
}
|
Upgrade User Profile Service
Save the following PowerShell code in Restore-UserProfileService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Restore User Profile Service
$appPoolName = 'SharePoint Web
Services System'
$serviceName ='User Profile
Service Application'
$serviceProxyName ='User Profile Service Application Proxy'
$dbProfile ='SP2019_UPSA_ProfileDB'
$dbSocial ='SP2019_UPSA_SocialDB'
$dbSync ='SP2019_UPSA_SyncDB'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
if($applicationPool -ne
$null){
#Create User Profile Service from Restored Database
Write-Host "Creating
User Profile Service..." -ForegroundColor
Yellow
$upsa = New-SPProfileServiceApplication -Name $serviceName
-ApplicationPool $applicationPool
-ProfileDBName $dbProfile
-SocialDBName $dbSocial
-ProfileSyncDBName $dbSync
Write-Host "User
Profile Service Created successfully: $upsa" -ForegroundColor
Green
Write-Host "Creating
User Profile Service Proxy..." -ForegroundColor
Yellow
$proxy = New-SPProfileServiceApplicationProxy -Name $serviceProxyName
-ServiceApplication $upsa
Write-Host "User
Profile Service proxy Created successfully" -ForegroundColor Green
Add-SPServiceApplicationProxyGroupMember -member $proxy -identity ""
Write-Host "$proxy added to
defult group" -ForegroundColor Green
}
|
Upgrade Search Service
Save the following PowerShell code in Restore-UserProfileService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Restore Search Service Application
$appPoolName = 'SharePoint Web
Services System'
$serviceName ='Search Service
Application'
$serviceProxyName ='Search Service Application Proxy'
$dbServer = 'SP16SQLAlias'
$searchDB ='SP2019_SearchService_DB'
$analyticsDB ='SP2019_SearchService_AnalyticsReportingDB'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
if($applicationPool -ne
$null){
#Create Search Service Application from Restored
Database
Write-Host "Creating
Search Service Application..." -ForegroundColor
Yellow
$searchInst =
Get-SPEnterpriseSearchServiceInstance -local
# Gets the Search service instance and sets a variable
to use in the next command
Restore-SPEnterpriseSearchServiceApplication -Name $serviceName
-applicationpool $applicationPool
-databasename $searchDB
-databaseserver $dbServer
-AdminSearchServiceInstance $searchInst
Write-Host "Search
Service Application Created successfully" -ForegroundColor Green
$ssa = Get-SPEnterpriseSearchServiceApplication
Write-Host "Creating
Search Service Application Proxy..." -ForegroundColor
Yellow
New-SPEnterpriseSearchServiceApplicationProxy -Name $serviceProxyName
-SearchApplication $ssa
Write-Host "Search
Service Application proxy Created successfully" -ForegroundColor Green
$ssap = Get-SPEnterpriseSearchServiceApplicationProxy
Add-SPServiceApplicationProxyGroupMember -member $ssap -identity ""
Write-Host "$ssap added to
defult group" -ForegroundColor Green
##Add Analytics databases to Search Service
Application
Add-SPServerScaleOutDatabase -ServiceApplication $ssa
-DatabaseServer $dbServer
-DatabaseName $analyticsDB
$temp = Get-SPServerScaleOutDatabase -ServiceApplication $ssa
Remove-SPServerScaleOutDatabase -Database $temp[0] -ServiceApplication
$ssa
}
|
Run Restore-SearchService.ps1 script to configure Search Service Application.
Create State Service
Save the following PowerShell code in Create-StateService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$dbName = "SP2019_StateService"
$serviceName = "State
Service Application"
New-SPStateServiceDatabase -Name $dbName | New-SPStateServiceApplication -Name $serviceName
| New-SPStateServiceApplicationProxy
-DefaultProxyGroup
|
State Service is required for InfoPath form. Run Create-StateService.ps1 script to configure State Service Application.
Create Subscription Settings Service Application
Save the following PowerShell code in Create-SubscriptionSettingsService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$dbName = "SP2019_SubscriptionService";
$serviceName ="Subscription
Settings Service Application";
$appPoolName = 'SharePoint Web
Services System'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
$sa = New-SPSubscriptionSettingsServiceApplication
-ApplicationPool $applicationPool
-Name $serviceName
-DatabaseName $dbName
New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $sa
|
Run Create-SubscriptionSettingsService.ps1 script to configure Subscription Settings Service Application.
Create App Management Service
Save the following PowerShell code in Create-AppManagementService.ps1
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$dbName = "SP2019_AppManagementService";
$dbServer = "SP19SQLAlias"
$serviceName ="App
Management Service Application";
$serviceProxy ="App
Management Service Application Proxy";
$appPoolName = 'SharePoint Web
Services System'
$applicationPool = Get-SPServiceApplicationPool -Identity $appPoolName
$sa = New-SPAppManagementServiceApplication
-Name $serviceName
-DatabaseServer $dbServer
-DatabaseName $dbName
-ApplicationPool $applicationPool
New-SPAppManagementServiceApplicationProxy -Name $serviceProxy -UseDefaultProxyGroup
-ServiceApplication $sa
|
Run Create-AppManagementService.ps1 script to configure App Management Service Application.
Configure Workflow Manager
Follow the instructions mentioned in Workflow Manager DR document to restore workflow manager and then register workflow manager with SharePoint farm
This is it for this post. We have successfully restored the service applications from SharePoint 2016 database backups and upgraded the service application to run in SharePoint 2019. Now start configuring search and user profile service. Start Full sync in user profile service.
In the next post I will cover, content database upgrade and SharePoint upgrade issues.
Comments
Post a Comment