sql-server - VSTS : Deploy Azure SQL DACPAC throws an error

标签 sql-server azure azure-sql-database azure-devops ms-release-management

我正在尝试使用“部署 Azure SQL DACPAC”在 VSTS 上为 Azure SQL 数据库设置版本。我收到以下错误(使用 system.debug = true)

2016-08-09T06:23:08.4767615Z Publishing to database 'DBName' on server 'DBServer'. 
2016-08-09T06:23:08.6821649Z Initializing deployment (Start) 
2016-08-09T06:23:24.7312223Z Initializing deployment (Failed) 
2016-08-09T06:23:24.7684904Z ##[debug]System.Management.Automation.RemoteException: <strong>* Could not deploy package. 
2016-08-09T06:23:24.7794888Z ##[debug][Azure RDFE Call] Deleting firewall rule 7d14da9b-4c86-4ed6-a3f3-d238a3143c39 on azure database server: DBServer 
2016-08-09T06:23:25.9730592Z ##[debug][Azure RDFE Call] Firewall rule 7d14da9b-4c86-4ed6-a3f3-d238a3143c39 deleted on azure database server: DBServer 
2016-08-09T06:23:25.9840576Z ##[error]System.Management.Automation.ParentContainsErrorRecordException: *</strong> Could not deploy package.

以下是发布配置文件 -

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <IncludeCompositeObjects>True</IncludeCompositeObjects>
    <TargetDatabaseName>SocialRecruiting</TargetDatabaseName>
    <DeployScriptFileName>Database.sql</DeployScriptFileName>
    <TargetConnectionString>Data Source=DBServer;Persist Security Info=True;User ID=username;Pooling=False</TargetConnectionString>
    <ProfileVersionNumber>1</ProfileVersionNumber>
    <ScriptDatabaseOptions>True</ScriptDatabaseOptions>
    <BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
    <CreateNewDatabase>False</CreateNewDatabase>
  </PropertyGroup>
</Project>

我读过几篇类似的帖子,一篇在这里,一篇在另一个论坛上。他们建议手动添加 IP 范围(0.0.0.0255.255.255.255)并使用友好的服务器名称而不是 FQDN,但这不起作用。 我可以通过 Visual Studio 手动发布它,没有任何问题。

编辑
我已经尝试了以下帖子中的建议
VSTS: Deploy Azure SQL DACPAC Release Management throwing an error
Azure SQL DACPAC task keeps failing

编辑 - 完整 DACPAC 日志
http://pastebin.com/bWvTi5Vx

最佳答案

我在同事的 friend 的帮助下解决了这个问题。正在更新的数据库有一个表的列设置为 NULL,并且 DACPAC 的表的创建脚本的列设置为 NOT NULL,这导致了错误。我更改了现有表,使列不为 NULL,并且发布成功了。

关于sql-server - VSTS : Deploy Azure SQL DACPAC throws an error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38844527/

相关文章:

Azure Functions - 消耗计划和冷启动

javascript - 具有 Node mssql 对象的存储过程的受影响行

sql - 我在哪里可以获得 Anjlab 的 SQL Profiler 的旧版免费版本?

SQL - 如何根据值执行计算

sql - T-SQL 从列中获取文件扩展名

azure - 如何在VPN中部署AKS(Azure容器服务)?

azure - Azure 中 Docker 中的 Orocrm

sql-server - 无法使用域凭据从 PowerShell 连接到 SQL Server

azure - 如何绕过 Backup-SqlDatabase 提示输入密码?

sql - 创建数据库范围的凭证语法