I had my production environment as:
- SharePoint 2013
- SQL Server 2012
and I want to move the instance to another environment, which is freshly installed and different environment and different KBs:
- SharePoint 2013
- SQL Server 2016
How to migrate SharePoint 2013, SQL Server 2012 Content Database to SharePoint 2013 SQL Server 2016.
Method 1
This is a general method, which is used for upgrading your content database.
- Get a backup of the current Content database.
- Copy the SQL backup to new environment.
- Restore the SQL Back Up into the new environment.
- Go to the Security Login section and grant permission to content database for existing SharePoint Users.
- You need to select the User mapping and DBO for the content database.
- Then, execute the below PS in SharePoint PowerShell. Make sure you executed as Run as Administrator.
- First, update the content database.
- Then, mount using the command line:
Mount-SPContentDatabase -name "WSS_Content" -WebApplication http://stgwfe01/ -confirm:$false
Method 2
I would recommend this method only for the development environment. If any production updates, you should follow the proper method which is mentioned in method 1.
Firstly, run the below code against your production content database, and find out the version number.
SELECT TOP (1000) [VersionId]
,[Version]
,[Id]
,[UserName]
,[TimeStamp]
,[FinalizeTimeStamp]
,[Mode]
,[ModeStack]
,[Updates]
,[Notes]
FROM [Content_Portal].[dbo].[Versions]
and you will get something like this.
Then, take the version numbers and update the content database table in the development environment before attaching the database (you need to skip point 7).
update [WSS_Content].[dbo].[Versions] SET [Version] = '15.0.138.0' where [Id] =2
You need to repeat the update for all IDs including 1, 2 and 3. I have more that you can delete those entries in the table.