When upgrading to SharePoint 2013 from 2010, you can choose to move only your content databases or you can upgrade some of your old services as well. The services that you can upgrade is the following:
- Secure Store service application
- Business Data Connectivity service application
- Managed Metadata service application
- User Profile service application
- PerformancePoint Services service application
- Search service application
However i think the most common approach is to set up a new 2013 environment and configure the services and then attach the content databases only.
While preparing for an upgrade, it's a good move to look things over that are no longer needed and remove them from SharePoint. As you mention you got several custom web parts installed in your 2010 environment that you don't longer need. The errors you are receiving is because they're simple not deployed in your 2013 farm, but is still referenced in your old database. Before attaching a db, it's required to install all custom solutions to your new farm before doing the upgrade. Or remove them.
To get rid of your error, you could either delete the web part(s), deactivate any custom features, and then uninstall and remove your custom solutions. Powershell is excellent for this. If you are unsure of what custom solutions that is deployed to your farm you can type: get-spsolution
To Uninstall a solution, type the following: ( Be sure to remove all the web parts first. )
Uninstall-Spsolution -identity "yourCustomSolutionName".wsp
and after that remove the solution.
Remove-Spsolution -identity "yourCustomSolutionName".wsp
To be sure that you got a "clean" database you can use the test-spcontentdatabase command.
Test-Spscontentdatabase -name wss_content
On the other hand, you could deploy your old 2010 solutions to your 2013 farm to remove them from there as well. If you don't have your WSP solution file left, you can download it from your 2010 farm. I do not recommend this approach however. It's always best to clean up before an upgrade. (Take note that they will probably not work.)
$farm = Get-SPFarm
$file = $farm.Solutions.Item("yourCustomSolutionName.wsp").SolutionFile
$file.SaveAs("C:\folder\yourCustomSolutionName.wsp")
Then add the solution to your 2013 farm:
Add-SPSolution -LiteralPath c:\yourCustomSolutionName.wsp
Then install it, after that you should be able to clean up old references. Be sure to uninstall it from both the directories after.
Install-SPSolution -Identity yourCustomSolutionName.wsp -GACDeployment -CompatibilityLevel {14,15}
And before mounting the database to a new web application, make sure to test it.
Some additional advices:
- Always take a copy-backup of the database to upgrade, newer detach the original one.
- Be aware that if you are using Windows Authentication in 2010, you have to migrate to claims as it's the new standard in 2013.
- There's lots of script on the internet to remove missing references, however what they're doing is to directly remove references from the database, and Microsoft do not support under any circumstances to modify a database manually.
Upgrade service applications to SharePoint 2013
Migrate from classic-mode to claims-based authentication in SharePoint 2013