SQLPackage ALTER ASSEMBLY statements

本文介绍在使用VisualStudio发布SQL项目时,遇到的ALTERASSEMBLY更新CLR包失败问题及其解决方案。当目标数据库已存在相同的CLR包时,发布过程可能因MVID冲突而失败。文章提供了通过修改CLR项目属性来规避此问题的方法。

当使用visual studio 发布SQL项目的代码到数据库(Publish or Script), SqlPackage 如下三句 ALTER ASSEMBLY statements(假设CLR包的名称为DataWarehouse_db):

ALTER ASSEMBLY [DataWarehouse_db]
DROP FILE ALL;
GO

ALTER ASSEMBLY [DataWarehouse_db]
FROM 0x4D5A90000300000…;
GO

ALTER ASSEMBLY [DataWarehouse_db]
DROP FILE ALL
ADD FILE FROM 0x4D6963726F736F6674…
AS N’DataWarehouse_db.pdb’

如果目标数据库已经存在该CLR安装包,有时候上面第二句代码一直报如下错误:
ALTER ASSEMBLY failed because the source assembly is, according to MVID, identical to an assembly that is already registered under the name “DataWarehouse_db”.

解决方法:
右键CLR项目,选择properites,切换到DEBUG页签,最底下可以看到2. " Do not use ALTER ASSEMBLY statements to update CLR types " 选项

把该选项勾上,再发布,就能避开上面那个坑了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值