title: Run SSIS 2012 Script in SQL Server 2016
body: <p>I've looked around and haven't found anything related to this asked as of yet.</p>
  
  <p>I work on a team that needs to have our ETL run on SQL Server 2012, 2014 and 2016. This ETL only moves information around databases within the same server instance, so it won't communicate with an outside server at all. I have an old but simple script that was originally built for SSIS 2008, but was upgraded once already to SSIS 2012. When we run our configuration tool that sets up our ETL job agents, I can get that SSIS 2012 script to run successfully on SQL Server 2012, as well as on SQL Server 2014 as SQL Server auto migrates the script to 2014, however it fails to configure or run on SQL Server 2016.</p>
  
  <p>What confuses me is that if I go in and do a conversion before deploying, when I actually open up the dtsx files converted for 2014 and 2016 and compare, there isn't a single difference between them, whereas comparing either to the SSIS 2012 file does show quite a few differences, but most of them are reference changes (from SSIS.Package.3 to Microsoft.Package for instance).</p>
  
  <p>We'd ideally like to have only 1 source script that we deploy so we're not trying to make the same changes across multiple different solutions to support the 3 server versions. Since Microsoft made their SSDT2016 backward compatible in SSIS to SQL Server 2012, we were hoping that meant we could use the same 2012 script for all 3 as well.</p>
  
  <p>Why would the script successfully migrate and run on SQL Server 2014, but not SQL Server 2016, when the 2014/2016 files are the same? Can SQL Server 2016 not convert SSIS 2012 files like SQL Server 2014 can? </p>