SQL Server 2016 - backwards compatible to 2012?

  • I have the option of install SQL Server through my MSDN account - I've programmed for embedded applications but am relatively new to SQL Server and RDBMS in general - most of the people I will be working with use 2012 however.

    Should I install 2016 at home - will the advantages of the latest version outweigh any potential compatibility conflicts I might run into later with 2012?

    Broad question I know, since I'm new though your best guess would be much appreciated.

    Thanks!

  • All versions are generally backward compatible (a new server can run an older database). The problem comes into play when you are backing up a newer version database and trying to restore it to an older version server.

    I would think running ss2016 at home for you is fine. After restoring a 2012 database, you'll see it go through an upgrade process before it comes online.

  • Thanks for your response.

    If I do work at home though I may indeed need to bring 2016 data back to a 2012 installation - is this reason enough to avoid 2016 for now?

    I'm digging through the documentation on MSDN but it's pretty dense...

    What major advantages does 2016 hold over 2012 - and do you think they will matter to someone like me (who is just starting out)?

  • Like Bill said, you can backup a SQL 2012 database and restore it to a newer version of SQL, but not the other way around. In a nutshell, you can upgrade a database to a newer version, but you can't downgrade it.

    If you want to write at home and then update your system at work, you don't necessarily have to use the backup and restore approach. You can always create a release script for everything you do. It's really nothing more than a .sql file that contains all the DDL and DML you run in the correct order. It's a great approach if you type, but if you use the GUI, your options are more limited. I type everything, so using a release script is my preferred method.

    SQL 2016 has a bunch of new features, but isn't finalized yet. The MSDN page on what's new in 2016 is at https://msdn.microsoft.com/en-us/library/bb500435.aspx. We have no way of knowing if it would be worth it, but understand that you won't be able to use QL 2016-specific functionality in SQL 2012.

    It's been my experience that the newest version isn't always stable, so I don't use the latest and greatest. Then again, I value stability above all else where production data is concerned. If it were me, I'd install SQL 2012 SP1 CU8 or SQL 2014 SP1 at home. You'll also want to pay attention to what edition you have at work and stick with that edition at home.

  • Thanks much for all of the feedback!

    Part of what I will be doing is automating the upload of data to a set of external sites via XML. In a nutshell, what I need to figure out is how to export data from a 2012 database to a pre-defined XML format (.xsd schema definition supplied by the respective external site).

    This may be a question for a separate thread...

    What is the best way to do this and, given this context, would there be any advantage gained from using a version newer than 2012?

  • MonkSup (11/8/2015)


    Thanks much for all of the feedback!

    Part of what I will be doing is automating the upload of data to a set of external sites via XML. In a nutshell, what I need to figure out is how to export data from a 2012 database to a pre-defined XML format (.xsd schema definition supplied by the respective external site).

    This may be a question for a separate thread...

    What is the best way to do this and, given this context, would there be any advantage gained from using a version newer than 2012?

    Use an SSIS package or create a .Net command line application to load a dataset into a new XML document created with the xsd set as one of the parameters when creating the new XML document.

    Use Google or MSDN books online for more detailed instructions and guides.

  • Bill Talada (10/30/2015)


    All versions are generally backward compatible (a new server can run an older database). The problem comes into play when you are backing up a newer version database and trying to restore it to an older version server.

    I would think running ss2016 at home for you is fine. After restoring a 2012 database, you'll see it go through an upgrade process before it comes online.

    Restoring the database may not be all. Depending on your settings for default restore from backup you may have to set the Compatibility level of the database.

    For example we have many databases running on SQL 2008 R2 that had to be restored with Compatability Level set to SQL 2005 or the breaking changes to the existing dataset types would cause them not to work.

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

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