SSDT-SQL DB DEPLOY Dacpac - 在现有生产服务器上失败

加尼·拉斯特拉

我正在使用 Azure/Release 到 SQL 部署。我有一个 DACPAC 文件要部署,但我 (1) 更改了列数据类型,(2) 删除了已包含数据的表中的一些列,(3) 并添加了一些 FK 列。但是因为已经有生产数据,所以部署失败。这些场景应该怎么解决?SQL 部署映像

  The column [dbo].[TableSample][ColumnSample] is being dropped, data loss could occur. 

  The type for column Description in table [dbo].[Table2] is currently NVARCHAR (1024) NULL but is being changed to NVARCHAR (100) NOT NULL. Data loss could occur. 

  The type for column Id in table [dbo].[Table3] is currently UNIQUEIDENTIFIER NOT NULL but is being changed to INT NOT NULL. 
  There is no implicit or explicit conversion. *** 

  The column [sampleColumnId] on table [dbo].[Table4] must be added
  , but the column has no default value and does not allow NULL values. If the table contains data, the ALTER script will not work. 
  To avoid this issue you must either: add a default value to the column, mark it as allowing NULL values, or enable the generation of smart-defaults as a deployment option. 
彼得·肖特

通过使用发布选项中的“允许数据丢失”选项,您可能会关闭“数据丢失”警告。它只是警告您正在删除列或使用更小的数据长度。

您的“Table3”更改无法保留数据。GUID 不适合 INT 列。您可能需要考虑删除/重新创建表或将当前 ID 列重命名为其他内容(OldId,也许)并添加一个新的 INT 类型 ID,可能带有 Identity(1,1)。

但是,最后一列 - 您正在尝试向现有表添加一个没有默认值的 NOT NULL 列。允许 NULL 或在列上放置一个命名的默认值,以便可以添加该列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server:当引用另一个SSDT项目时,DacPac删除所有内容

章鱼Deploy.ps1 DACPAC部署失败

ssdt:使用dacpac版本化参考数据

ssdt dacpac:如何构建不同版本

Azure VM上的SQL Web中的SSDT

SSDT在现有报告服务器上打开现有报告

DACPAC和SQL序列

SSDT-跟踪DACPAC部署中的数据库更改

SSDT:无法连接到主服务器或目标服务器“DB_NAME”。您必须在主服务器或目标服务器“DB_NAME”中拥有一个密码相同的用户

BizTalk 尝试连接到服务器“DB”上的“BizTalkMgmtDb”SQL Server 数据库失败

将 DACPAC 部署到 SQL Server 2016 上的 AOAG 侦听器

DacPac Deploy-调整锁定超时时间

在单个事务中执行SSDT项目/ dacpac部署脚本,包括前/后脚本

Azure SQL DACPAC部署失败-不支持目标架构的兼容性级别。

有没有办法在Ubuntu上安装SSDT(SQL Server数据工具)?

SQL Server 2017中SSDT中的用户登录失败(但并非如此)

SSDT2012版本的SSIS包可以在SQL Server 2012上执行吗?

Visual Studio SSDT 数据库项目 (.sqlproj) 构建 - 使用 CLI 生成 .dacpac,无需 MSBUILD (msbuild.exe)

VS 2015 的 SSDT 安装失败

EF7代码优先-> SSDT包->生产服务器部署

是否可以从数据库更新SSDT DB项目?

Oracle DB SQL 查询失败

在Azure SQL DB和Azure Cosmos DB之间创建链接服务器连接

Azure上的SQL Db备份

使用SqlPackage和DropObjectsNotInSource和DoNotDropUsers进行SQL Dacpac部署

VSTS:部署Azure SQL DACPAC会引发错误

如何为成功的 SQL DacPac 导入创建事件网格订阅?

Azure DevOps SQL Dacpac发布作业-提取生成变量

SQL Server DACPAC部署删除用户/角色/权限