While upgrading my SharePoint environment from 2013 to 2016, I ran into an interesting issue with content database upgrade.

I have deployed a fresh new SharePoint 2016 running on Windows Server 2016 and then perform the classic detach/attach upgrade process to migrate the content from the SharePoint 2013 environment.

One of this content DB is hosting only one site collection, but this site collection is NOT a root site collection.

When running the attach command on SharePoint 2016 (Mount-SPContentDatabase) which performs the upgrade to 2016, I got no error but there was no site collection available.

After some time, tests and research, I found that if the content database does not contain a root site collection, then the attach/upgrade process makes the site collection unavailable.

As solution, create a temporary web application on you SharePoint 2013 environment, attach the content database to it and create a root site collection. Then on SharePoint 2016, create another temporary web application and then run the Mount-SPContentDatabase. Once completed, you can delete the root site collection and detach the content DB to attach it to the appropriate web application.