SQL Server – Moving Database Between SQL Server 2016 and 2017

backuprestoresql serversql-server-2016sql-server-2017

If I take a backup of a database from a SQL Server 2016 instance and then restore it to a 2017 instance to do some work on it.

Can I then turn around and back up that database from the 2017 instance and use that to overwrite the original version on the 2016 instance?

Best Answer

No, this is not possible.SQL Server 2017 backups cannot be restored by any earlier version of SQL Server ref

Also, regarding detatching and reattaching per the docs:

After being attached to SQL Server 2017, the database is available immediately and is automatically upgraded. This prevents the database from being used with an older version of the Database Engine

Also, not sure you care about the compatibility level, but FYSA:

If the compatibility level of a user database is 100 or higher before upgrade, it remains the same after upgrade. If the compatibility level is 90 before upgrade in the upgraded database, the compatibility level is set to 100, which is the lowest supported compatibility level in SQL Server 2017.

Additionally, I believe you question is about a user database, but if it isn't:

Backups of master, model and msdb that were created by using an earlier version of SQL Server cannot be restored by SQL Server 2017