[solved] How to restore on newer version

  • Hello all,

    here we have a backup of a database from SQL 2000 (database version 539). For research purpose we need this database on our SQL 2022 (database version 957). The restore failed with following message:

    System.Data.SqlClient.SqlError: The database was backed up on a server running database version 539. That version is incompatible with this server, which supports version 957. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server. (Microsoft.SqlServer.SmoExtended)

    How is it possible to bring this database to SQL 2022? Maybe restore on 2008 then backup and restore on 2016 then backup and restore on 2022, or something?

    • This topic was modified 1 year, 2 months ago by  mh.
  • Exactly that, you will need to take it up a couple versions at a time, 2000->2008->2016->2022

     

    2022 earliest it will support is 2012, so need to get it to at least 2012 before you can take it to 2022.

    I can't remember if 2012 will take 2000 backups or not and the documentation is all but gone as 2012 is a dead product, but the 2008 docs still hang around and you can take 2000 to 2008, and 2016 can take 2008 backups.

    So yeah as long as you can get the 2000 backup restored to something as earlier as 2012 you're golden.

  • You can restore a SQL2000 backup into SQL2008. An evaluation version of SQL2008 is available here:

    Download Microsoft SQL Server 2008 Enterprise Evaluation: Trial Experience for IT Professionals from Official Microsoft Download Center

    I think SQL2008 will install on Windows2012. This was the best I could find:

    Windows Server 2012 R2 Essentials | Microsoft Evaluation Center

    I would setup a temporary VM to install these as I seem to remember the evaluation editions were not good to the registry.

    I think a backup from SQL2008 will restore into SQL2019 - you might want to try going directly to SQL2022.

  • Something to note about Ken's reply, you will want to make sure that the "evaluation" license allows you to do what you are trying to do. I know the visual studio license does NOT allow you to move data from a VS licensed SQL instance to a production licensed SQL instance.

    I mean, technically nothing is stopping you (that I am aware of), it just may be a violation of the license which COULD get you a bill if MS found out.

    The above is all just my opinion on what you should do. 
    As with all advice you find on a random internet forum - you shouldn't blindly follow it.  Always test on a test server to see if there is negative side effects before making changes to live!
    I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.

  • Thank you all!

    Finally I did

    • restore to SQL 2008 R2
    • set db's compatibility level from 80 to 100
    • do backup
    • restore this new backup on 2022 🙂
  • Mr. Brian Gale wrote:

    Something to note about Ken's reply, you will want to make sure that the "evaluation" license allows you to do what you are trying to do. I know the visual studio license does NOT allow you to move data from a VS licensed SQL instance to a production licensed SQL instance.

    I mean, technically nothing is stopping you (that I am aware of), it just may be a violation of the license which COULD get you a bill if MS found out.

    Interesting, really... But in our setup neither VS nor evaluation are involved.

     

  • mh wrote:

    restore to SQL 2008 R2

    • set db's compatibility level from 80 to 100
    • do backup
    • restore this new backup on 2022 🙂

    Thanks for the information. Our oldest backups are from SQL 2008 so it is good to know they will not need to be upgraded for SQL2022.

     

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply