2016-12-01 51 views
0

我有5個.dacpac文件,一個數據庫的一個dacpac,一個SQL Server 2014目標。列表中最後一個數據庫依賴於其他4.一次部署多個SQL Server 2014數據庫

我可以使用sqlpackage.exe單獨部署每個.dacpac,這很好。

我真的很想做的事情是「事務性」,如果這是上下文的正確單詞,那麼當我創建5個數據庫時,如果任何部署出錯,所有部署都會回滾。

要麼創建所有數據庫,要麼都不創建。

這是否可行,如果是這樣,我該怎麼做?如果涉及到Powershell腳本,我並不反對。

在此先感謝。

回答

0

Powershell的能做到這一點,雖然你將不得不手動控制「交易」

首先創建部署dacpacs PowerShell腳本 - 即你應該能夠給每個sqpackage.exe命令行用複製和粘貼所需的參數

然後將每個命令包裝在powershell tr​​y/catch塊中,每個catch部分都必須有適當的手動回滾命令來清理每個階段的事情。

+0

嗨Jimbo,謝謝你的回覆。我可以在單個Sql事務中登記5個sqlpackage.exe部署嗎?試圖找到這個瓦特/谷歌的信息,沒有太多的喜悅... – Scott

+0

編號例如dacpac使用drop數據庫 - 該命令不能在t-sql事務中使用。 – Jimbo

相關問題