首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jenkins和SqlPackage命令错误部署SSDT项目

使用Jenkins和SqlPackage命令错误部署SSDT项目
EN

Stack Overflow用户
提问于 2016-06-16 16:18:26
回答 2查看 2.4K关注 0票数 0

我使用的方法如下:

本地开发桌面:

Windows 7企业

Visual Studio 2015专业版更新2

2015的SSDT

远程数据库服务器:

Windows 2012

Server 2012

Jenkins桌面服务器:

Windows 7企业

Jenkins v1.580.1

2015的SSDT

我已经创建了一个SQL数据库项目。我正试图让Jenkins构建并部署到我的集成测试服务器上。

构建正在工作,但部署不起作用。

我创建了一个执行Windows批处理命令生成步骤,包含以下详细信息:

代码语言:javascript
复制
"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

当我运行构建时,我在控制台输出中得到以下内容:

代码语言:javascript
复制
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服务器不同的物理域中(让我们不要进入那个.)

我做了以下工作:

  1. 在Jenkins服务器上为Jenkins创建了一个Windows用户帐户,并将其分配给Jenkins服务
  2. 在我的数据库服务器上为SQL Server中的Jenkins创建了一个登录,它使用与步骤1中创建的windows帐户相同的密码。
EN

回答 2

Stack Overflow用户

发布于 2016-06-28 18:41:15

只是TeamCity遇到了同样的问题,存储的配置文件不保存密码,只需将密码作为param: /TargetPassword:p@ssw0rd传递

票数 1
EN

Stack Overflow用户

发布于 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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37864477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档