VS 2015 MSBuild部署数据库项目错误

时间:2016-11-15 17:43:18

标签: sql-server visual-studio visual-studio-2015 msbuild database-project

我在使用VS 2015 MSBuild通过命令行部署数据库项目时遇到问题。问题是我需要能够在没有安装VS 2013的情况下仅使用14.0的MSBuild。

我正在使用14.0 MSBuild:

C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

以下是有效的,因为我还安装了Visual Studio 2013以及相应的SQL Server数据工具:

MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy "/p:TargetConnectionString=Data Source=localhost;IntegratedSecurity=True" /p:TargetDatabase=TestDeployDb /p:Configuration=Release /p:VisualStudioVersion=12.0

但是,如果我将“VisualStudioVersion”更改为“14.0 for VS 2015,我会收到错误:

Deploy error Deploy72002: Unable to connect to master or target server 'TestDeployDb'. You must have a user with the same password in master or target server 'TestDeployDb'.

2 个答案:

答案 0 :(得分:1)

根据您的描述,我创建了一个演示并在我身边重现您的问题,您使用了错误的连接字符串。请修改你的命令:

MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;IntegratedSecurity=True" /p:TargetDatabase="TestDeployDb" /p:Configuration=Release /p:VisualStudioVersion=14.0

答案 1 :(得分:1)

感谢Cole Wu说我的连接字符串无效,但他的答案对我来说并不适用。出于某种原因,我的连接字符串*对12.0有效,但对14.0无效。

问题最终是因为我有IntegartedSecurity而不是Integrated Security,这在移动到14.0时违反了我的命令

这是有效的决赛:

MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;Integrated Security=True" /p:TargetDatabase="TestDeployDb" /p:Configuration=Release /p:VisualStudioVersion=14.0