首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSDT防止发布时出现同义词丢失

SSDT防止发布时出现同义词丢失
EN

Stack Overflow用户
提问于 2020-07-09 13:21:41
回答 1查看 329关注 0票数 0

背景

我们正在使用针对Server 2012的Server数据工具(SQL ),该工具使用DACPAC发布到不同的环境。

问题

每当我们发布SSDT时,就会根据生成的发布脚本删除并重新创建同义词。我们希望防止这种情况发生,因为我们有一个存储过程,负责为每个环境设置正确的同义词目标。

代码语言:javascript
复制
GO
PRINT N'Dropping [dbo].[MY_SYNONYM]...';
GO
DROP SYNONYM [dbo].[MY_SYNONYM];
GO
PRINT N'Creating [dbo].[MY_SYNONYM]...';
GO
CREATE SYNONYM [dbo].[MY_SYNONYM] FOR [MY_DEFAULT_TARGET];

我尝试过将同义词的构建操作设置为Build以外的其他任何东西,但它会导致编译器出现问题,并导致生成失败。

我们的主要目标是防止不改变目标的同义词重新创建。我们知道,通过利用sys.synonyms进行比较,我们可以在存储过程中处理这个问题。任何帮助都是非常感谢的,谢谢。

编辑:

我可以在高级发布设置上看到ff,但是我们不想启用Drop objects in target but not in source。我们希望项目中的同义词不要在发布期间重新创建。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-16 07:34:31

多亏了@Bill的推荐,我才能在发布简介中找到ff:

显然,如果我们想要使用命令行来实现这一点,那么/p:ExcludeObjectType=SynonymsSqlPackage的一个选项。

在标出排除同义词之后,在发布概要文件中添加了以下一行:

代码语言:javascript
复制
<PropertyGroup>
    ...
    <ExcludeSynonyms>True</ExcludeSynonyms>
</PropertyGroup>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62815872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档