一次部署多个SQL Server 2014数据库
问题描述:
我有5个.dacpac文件,一个数据库的一个dacpac,一个SQL Server 2014目标。列表中最后一个数据库依赖于其他4.一次部署多个SQL Server 2014数据库
我可以使用sqlpackage.exe单独部署每个.dacpac,这很好。
我真的很想做的事情是“事务性”,如果这是上下文的正确单词,那么当我创建5个数据库时,如果任何部署出错,所有部署都会回滚。
要么创建所有数据库,要么都不创建。
这是否可行,如果是这样,我该怎么做?如果涉及到Powershell脚本,我并不反对。
在此先感谢。
答
Powershell的能做到这一点,虽然你将不得不手动控制“交易”
首先创建部署dacpacs PowerShell脚本 - 即你应该能够给每个sqpackage.exe命令行用复制和粘贴所需的参数
然后将每个命令包装在powershell try/catch块中,每个catch部分都必须有适当的手动回滚命令来清理每个阶段的事情。
嗨Jimbo,谢谢你的回复。我可以在单个Sql事务中登记5个sqlpackage.exe部署吗?试图找到这个瓦特/谷歌的信息,没有太多的喜悦... – Scott
编号例如dacpac使用drop数据库 - 该命令不能在t-sql事务中使用。 – Jimbo