Tuesday, March 27, 2012 2:48 PM
I first started using SSDT with CTP and all was good. Especially usefull for us was SQLPackage command line to deploy the DACPAC produced with SSDT on targets where SSDT is not installed. The SqlPackage version was 10.2.11213.0
After upgrading to RTW and using SqlPackage version 10.3.20116.0 I can no longer deploy dacpack generated with CTP version of SSDT. I am receiving error DACPAC version 2.5 is not supported. Strangly enough this is generated with older version. Drilling down furhter with dependancies it appears that SQLPackage that was installed with RTW was dependant on Microsoft.SqlServer.TransactSql & Microsoft.SqlServer.TransactSql.ScriptDom assemblies.
Doubleclicking on the dacpack file is bringing up Unpack Dacpac utility which also fails with the same error, so I doubt that not all dependancies were updated. Can some one please guide me on where to obtain all dependancies for SqlPackage.exe, in other words I want to execute SqlPackage.exe on machines that have no SSDT - so I will include all dependancies on the SqlPackage.exe in the same same folder as the executable to make it run. This is exactly how I did it for CTP version and it all worked fine.
Tuesday, March 27, 2012 6:26 PM
I am encountering the same issue with .dacpac files created with the CTP versions
I found that after upgrading to the RTW version of SSDT, the SQLPackage.exe is no longer under the Program Files\Microsoft Visual Studio 10.0 directory.
I found the files in these locations instead from my SQL Server 2012 install:
32 Bit: C:\Program Files\Microsoft SQL Server\110\DAC\bin
64 Bit: C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin
Have you tried copying all the files from these directories onto a new machine?
Gert Drapers also has excellent instructions for deploying SSDT without Visual Studio 2010 installed on the target computer.
Hope that helps.
Tuesday, March 27, 2012 8:48 PM
Yes I did copied all plus any other that I found are dependency for SQLPackage to execute. I can list all of them here if anyone is interested...
I've read the article from Gert Drapers - and tested it with naked Windows with only Framework 4 insalled. The MSBUILD is failing that SSDT is not installed or looks like some dependencies to build the project are not there...
Project "D:\TestMsBuild\LPWDatabase.sqlproj" on node 1 (Publish target(s)).
D:\TestMsBuild\LPWDatabase.sqlproj(60,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0 SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Done Building Project "D:\TestMsBuild\LPWDatabase.sqlproj" (Publish target(s))
So this is not helpfull at all as it requires go trough the same excersize to find all dependencies needed for the MSBUILD to work. I am not really willing to do that and prefer to stick with SqlPackage.exe as deployment tool as it can use the build output rather then the source files as MSBuild requires.
Monday, April 16, 2012 7:23 AMModerator
dacpac v2.5 was the output format generate by CTP4, this was updated by RTM to dacpac v3.0.
You need to re-compile you project or re-create the dacpac from the database in to the new format, as the CTP format is no longer supported. You can re-create it from an existing database using sqlpackage -Action:Extract
-GertD @ www.sqlproj.com