【问题标题】:MsBuild Database project Publish ProfileMsBuild 数据库项目发布配置文件
【发布时间】:2017-11-06 18:55:49
【问题描述】:

我们正在使用 TFS 和 msbuild 通过发布配置文件部署我们的 Web 应用程序。这工作得很好,但我正在尝试对我们的数据库项目做同样的事情,但我无法得到以下错误: 错误 Deploy72002:无法连接到主服务器或目标服务器“xxx”。您必须在主服务器或目标服务器“xxx”中有一个密码相同的用户。

值 xxx 实际上是数据库的名称,而不是服务器的名称。找不到输入服务器名的地方,服务器居然是xxx\yyy。 有人知道如何/在哪里指定服务器名称或找出问题所在吗?

我正在构建项目,并使用以下 msbuild 参数: /t:build /t:Publish /p:SqlPublishProfilePath=PublishProfiles/QA.xxx.publish.xml /p:Configuration=Output

【问题讨论】:

    标签: visual-studio-2015 tfs msbuild


    【解决方案1】:

    有人知道您将如何/在哪里指定服务器名称或找出问题所在吗?

    您有 Windows 身份验证或 SQL 身份验证吗?

    对于 Windows 身份验证,您必须使用对该数据库具有特定权限的帐户登录。您需要的特定权限因您要执行的操作而异。 This document 描述您可能想要执行的每个操作以及执行它所需的特定权限。

    对于SQL认证,需要修改发布配置文件(.xml,TargetConnectString),例如:

    <TargetConnectionString>Data Source=XXX;User ID=XXX;Password=XXX;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True</TargetConnectionString>
    

    此外,您可以使用以下 msbuild 构建项目:

    MSBUILD "....\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;Integrated Security=True" /p:TargetDatabase="xxx" /p:Configuration=Release /p:VisualStudioVersion=14.0
    

    【讨论】:

    • 我尝试将密码添加到连接字符串,但这没有帮助。看起来实际发生的是从未创建过 sql 脚本。
    • 据我了解,发布构建脚本应该部署到输出文件夹,但没有 sql 文件。什么会阻止创建 sql 脚本?另外,我正在使用 SQL 身份验证。
    • C:\TCIBuild02_work\11\s\AppealTrack\Trunk\Database\AppealTrack.Database\AppealTrack.Database\bin\Release\AppealTrack.Database.publish.sql(0,0):错误 Deploy72002 : 无法连接到主服务器或目标服务器“AppealTrack”。您必须在主服务器或目标服务器“AppealTrack”中有一个密码相同的用户。
    • AppealTrack 是数据库而不是服务器。 SQL文件仍然没有生成,但我手动添加它仍然出现同样的错误。
    • "but there is no sql file", 好像无法发布成功,请问能否在本地机器上通过 Visual Studio 和 MSBuild 命令行成功发布数据库项目?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多