TeamCity SQL部署

问题描述 投票:2回答:1

我按照http://blogs.adatis.co.uk/jonathon%20eveoconnor/post/Using-TeamCity-to-Automate-Building-and-Deployment-of-Database-Projects的指南来设置SQL构建并从TeamCity发布。

构建步骤很有效,但在发布方面我很困难。我已经设置了如下所示的步骤,它与指南中的内容相符,但我收到了错误。

第2/2步:发布(MSBuild)(2s)

[步骤2/2] KAInternal \ KAInternal.sqlproj.teamcity:构建目标:发布

[KAInternal \ KAInternal.sqlproj.teamcity] SqlPublish

[SqlPublish] SqlPublishTask

[SqlPublishTask] C:\ TeamCity \ buildAgent \ work \ 1472f1322571ddd \ KAInternal \ bin \ Debug \ KAInternal.sqlproj.publish.sql错误Deploy72002:无法连接到主服务器或目标服务器'KAInternal'。您必须在主服务器或目标服务器“KAInternal”中拥有具有相同密码的用户。 [步骤2/2]步骤发布(MSBuild)失败

我搜索了一下,但是每个人似乎都相信这是源机器上的权限问题,我的发布配置文件使用内置的“sa”SQL Server帐户进行发布(目前主要是为了反驳这一理论) 。

这是发布配置文件XML:

<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
  <IncludeCompositeObjects>True</IncludeCompositeObjects>
  <TargetDatabaseName>KAInternal</TargetDatabaseName>
  <DeployScriptFileName>Staging_KAInternal.sql</DeployScriptFileName>
  <TargetConnectionString>Data Source=192.168.194.6;Persist Security Info=False;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True</TargetConnectionString>
  <BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
  <ExcludeLogins>True</ExcludeLogins>
  <IgnoreRoleMembership>True</IgnoreRoleMembership>
  <ExcludeUsers>True</ExcludeUsers>
  <ProfileVersionNumber>1</ProfileVersionNumber>
</PropertyGroup>

TeamCity中的发布步骤

希望有人可以指出我正确的方向,提前谢谢。

sql-server msbuild teamcity
1个回答
0
投票

您所遵循的指南描述了为部署创建单独的proj文件,但在这里您使用的是sqlproj文件。实际上有一个sqlproj文件的msbuild发布目标,所以我不确定这是否是你的故意偏差。

可能是sqlproj构建任务不接受密码作为msbuild属性的情况。您可以通过在发布配置文件文件中的连接字符串中指定密码来测试这是否是问题。

此外,我建议您确保使用最新版本的SSDT和DACFx。有关最新版本和下载链接的信息,请访问SSDT团队博客:https://blogs.msdn.microsoft.com/ssdt/

© www.soinside.com 2019 - 2024. All rights reserved.