SharePoint 2019 Upgrade Part 2 - SharePoint 2016 Upgrade
SharePoint 2016 Upgrade
This is the second part of blog series SharePoint 2019 Upgrade, in this post we are going to upgrade service applications and Web application databases from SharePoint 2013 to 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
Upgrade Service Application
Referred following MSDN article to upgrade service applications
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/create-the-sharepoint-server-2016-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-2016
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/upgrade-service-applications-to-sharepoint-server-2016
- https://docs.microsoft.com/en-us/sharepoint/upgrade-and-update/upgrade-content-databases
Restore Database backups
Before restoring below mentioned services and applications please make sure to restore corresponding database backups to SQL Server 2016 instance (SP16SQL01).
Backup Databases from SQL 2013 instance (SP13SQL01)
Restore backups to SP16SQL01
- Copy backup files into SP16SQL01 server.
- Open SQL Server Management Studio on SP16SQL01 server.
- Create a RestoreDatabase.sql with commands for restoring all the backups.
- Open RestoreDatabase.sql file, I’ve updated the Database names with SP2019 prefix (as our final goal is to upgrade to 2019, you can leave the database name as it is).
- Check and update (if required) backup file location, data file location, log file location and execute command to restore backups
- Refresh the database list in Management Studio.
Upgrade Service Applications
Upgrade Secure Store Service
Save the content of table in Restore-SecureStoreService.ps1 file. Open SharePoint Management Shell in Administrator mode and run Restore-SecureStoreService.ps1 to create Secure Store Service.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Restore Secure Store Service
$sssPassphrase = '<Secure Store
Passphrase used in SP 2013>'
$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 Services
Save the content of table in Restore-BusniessConnectivityService.ps1 file. Open SharePoint Management Shell in Administrator mode and run Restore-BusniessConnectivityService.ps1 to create Business Connectivity Service.
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 Managed Metadata Service
Save the content of table in Restore-ManagedMetadataService.ps1 file. Open SharePoint Management Shell in Administrator mode and run Restore-ManagedMetadataService.ps1 to create Managed Metadata Service.
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 content of table in Restore-UserProfileService.ps1 file. Open SharePoint Management Shell in Administrator mode and run Restore-UserProfileService.ps1 to create User Profile Service.
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 content of table in Restore-SearchService.ps1 file. Open SharePoint Management Shell in Administrator mode and run Restore-SearchService.ps1 to create Search Service Application. This script will attach only Search DB to application.
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'
$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
}
|
To attach addition DB, ex. analytics use move database method as described in this MSDN article.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Add other databases to Search Service
Application
$analyticsDB ='SP2019_SearchService_AnalyticsReportingDB'
$ssa = Get-SPEnterpriseSearchServiceApplication
Add-SPServerScaleOutDatabase -ServiceApplication $ssa
-DatabaseServer $dbServer
-DatabaseName $analyticsDB
$temp = Get-SPServerScaleOutDatabase -ServiceApplication $ssa
Remove-SPServerScaleOutDatabase -Database $temp[0] -ServiceApplication
$ssa
|
I haven't figured out how to add SP2013 Crawl DB and link DB to Search Service application.
Upgrade Web Applications
Install Custom Solutions
Install all the custom solution(if any) to SharePoint 2016 environment.
Upgrade default web application
- Create Web application at port 80 using Create-WebApplication.ps1 PowerShell script.Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue$siteName ="SharePoint-2016";$siteUrl ="http://Sharepoint16";$hostheader =" Sharepoint16";$appPoolName ="SharePoint-AppPool";$ap = New-SPAuthenticationProvider$account = Get-SPManagedAccount "domain\username"New-SPWebApplication -Name $siteName -Port 80 -HostHeader $hostheader -URL $siteUrl -ApplicationPool $appPoolName -ApplicationPoolAccount $account -AuthenticationProvider $ap
- Create Managed Paths
- Remove Content Database
- Run PowerShell script to test-content database.
Test-SPContentDatabase –WebApplication http://sharepoint16 –Name “SP2019_Content” –DatabaseServer “SP16SQLAlias” - Check the output for missing features and resolve the issues.
- Attach the Content database to web application
Mount-SPContentDatabase –WebApplication http://sharepoint16 –Name “SP2019_Content” –DatabaseServer “SP16SQLAlias”
On Completion it’ll display 100%
- Go to Central Admin > Application Management > Change Site Collection Administrators and update Site Collection admin account.
- Restart IIS
- Try accessing site with url.
- If site throws access denied error, then disable loopback check and restart the server and try again.
Upgrade My Site web application
- Create Web application at port 80 using Create-MySiteHost.ps1 PowerShell script.Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue$siteName ="MySite-2016";$siteUrl ="http://mysite.com";$hostheader =" mysite.com";$appPoolName ="MySite-AppPool";$ap = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos$account = Get-SPManagedAccount "domain\username"New-SPWebApplication -Name $siteName -Port 80 -HostHeader $hostheader -URL $siteUrl -ApplicationPool $appPoolName -ApplicationPoolAccount $account -AuthenticationProvider $ap
- Create Managed Path “Personal”
- Remove Content Database
- Run PowerShell script to test-content database.
Test-SPContentDatabase –WebApplication "http://mysite.com" –Name "SP2019_MySiteHost_Content" –DatabaseServer "SP16SQLAlias" - Check the output for missing features and resolve the issues (if possible or ignore).
- Attach the Content database to web application
Mount-SPContentDatabase –WebApplication http://mysite.com –Name "SP2019_MySitehost_Content" –DatabaseServer "SP16SQLAlias"
On complete it’ll display 100% - Go to Central Admin > Application Management > Change Site Collection Administrators and update Site Collection admin account.
- Restart IIS
- Try accessing site with url.
- Go to Central Admin > Manage Service Application > User Profile Service Application
- Update Search Centre url and My Site url.
Verify upgrade status for databases
You can check the status from Upgrade Status page to monitor progress and verify that the upgrade process is complete. Review the log file to identify any other issues.
Configure other services
Go to Central Admin > Configuration Wizard and start the Wizard to configure other services that you want to be running in your farm.
Congratulation!!! You have upgraded to SharePoint 2016. We are half way to completing our task to upgrade to 2019. Stay tuned for next post about SharePoint 2019 Installation and configuration...
Comments
Post a Comment