We know that upgrading of a SQL Server instance to another version has potential limitations e.g. you can not perform an in-place upgrade of SQL Server 2005 to SQL Server 2016.
Well what about restoring an older database backup to a newer version?
Good news, no such limitation currently exists.
Destination 2005 | 2008/R2 | 2012 | 2014 | 2016 | 2017 | 2019 | |
Source 2005 | ✔ | ✔ | ✔ | ✔ 1 | ✔ 1 | ✔ 1 | ✔ 1 |
2008/R2 | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
2012 | ✖ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ |
2014 | ✖ | ✖ | ✖ | ✔ | ✔ | ✔ | ✔ |
2016 | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ | ✔ |
2017 | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ |
2019 | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ |
1 Database compatibility level automatically changes to SQL Server 2008 (100)