如何在DACPAC部署中只部署一组选定的存储过程?

问题描述 投票:0回答:1

我有一个visual studio项目,其中包含一个数据库项目。我创建了一个执行软件更新的可执行文件,更新的一部分是更新数据库。一些存储过程依赖于一个链接的服务器,它也被创建为可执行文件的一部分。问题是这个功能是可选的,链接服务器在某些客户机上无法连接。但是DACPAC失败了,因为链接的服务器不能连接。我是用sqlpackage.exe来部署.dacpac文件的。

有没有什么方法可以让我部署全部或只部署部分存储过程?或者我可以设置一个标志来忽略链接服务器的错误?或者说,除了使用sqlpackagedacpac之外,还有其他方法吗?

我想到的一个方案是将包含链接服务器的存储过程转换为动态SQL。

在visual studio中拥有数据库,因此源码控制很重要。

sql-server-data-tools dacpac
1个回答
0
投票

是的!这是很容易做到的。

这是很容易做到的。你可以在visual studio中看到你的数据库项目。我建议删除那些有问题的存储程序,并将其合并回主程序。然后,我会取出一个特性分支,再指向你有存储程序的数据库,并使用模式比较把这些也找回来(即使是那些不好用的,这样你就不会失去它们)。将提交的内容推送到特性分支repo。然后,现在你已经把有问题的存储程序放到了源码控制中,又把可发货的版本放到了master中--你可以继续通过visual studio把数据库项目 "发布 "到你想要的数据库中。

如果你没有检查任何东西到主库--你可以做模式比较,选择所有的对象,除了那些有问题的对象,并更新你的数据库项目,并合并到主库。如果这没有意义,请对这个答案进行评论,我很乐意提供更多的细节。

© www.soinside.com 2019 - 2024. All rights reserved.