Problem
You have an old database (i.e. SQL Server 2012) from the production. After that, you restore it into SQL Server 2016. After your work, you restore it into your production server to SQL Server 2012. Your restore fail.
Causes
The SQL Server doesn't support the downgrade version. After you place into a new version, the backup is upgraded into a new version. Therefore, there is no way to restore into low version.
Possible Solutions
Aligning SQL Server version between your production server and development server
This is the most preferred way when you only manage one project with the same database version. If you work for multiple projects with the different SQL Server version, it is not recommended.
Generate Scripts
This is the most preferred way when you have access to the scripting tools. You will the detailed step here
Using Data-Tier Application
This is the recommended way if you have access to SQL Server Management Studio or using SQL Azure. It supports the 2008 version or higher. You can find the detailed step here
Using Third-Party Tools
You will have to find many tools such as ApexSQL Diff or ApexSQL Data Diff, You will find the detailed step here
Which method that you like the most? Please comments.