我使用的方法如下:
本地开发桌面:
Windows 7企业
Visual Studio 2015专业版更新2
2015的SSDT
远程数据库服务器:
Windows 2012
Server 2012
Jenkins桌面服务器:
Windows 7企业
Jenkins v1.580.1
2015的SSDT
我已经创建了一个SQL数据库项目。我正试图让Jenkins构建并部署到我的集成测试服务器上。
构建正在工作,但部署不起作用。
我创建了一个执行Windows批处理命令生成步骤,包含以下详细信息:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\sqlpackage.exe"
/a:publish
/sf:.\ddu.dev.cg\bin\Debug\ddu.dev.cg.dacpac
/pr:.\ddu.dev.cg\ddu.sit.publish.xml当我运行构建时,我在控制台输出中得到以下内容:
Publishing to database 'xxxx' on server 'xxxx'.
Initializing deployment (Start)
Initializing deployment (Failed)
*** Could not deploy package.
Unable to connect to master or target server 'xxxx'. You must have a user with the same password in master or target server 'xxxx'.我使用了这文章来帮助我,但是这使用了windows身份验证,我需要使用SQL身份验证,因为我的远程数据库服务器位于与我的Jenkins服务器不同的物理域中(让我们不要进入那个.)
我做了以下工作:
发布于 2016-06-28 18:41:15
只是TeamCity遇到了同样的问题,存储的配置文件不保存密码,只需将密码作为param: /TargetPassword:p@ssw0rd传递
发布于 2017-01-20 10:37:32
我们有一个类似的问题,并发现它与不同版本的DAC服务(SqlPackage)、目标数据库和在Visual中的SSDT项目中声明的目标平台有关。
看起来您正在使用SQL Server 2016的sqlpackage版本(../130/..)有一个目标database beeing SQL Server 2012。
因此,您可以尝试使用/110/文件夹下的dacpackage (用于Server 2012),并确保您有正确的目标平台。或者可以向发布命令中添加一个parameter: AllowIncompatiblePlatform (/p: AllowIncompatiblePlatform=true)
https://stackoverflow.com/questions/37864477
复制相似问题