回答

1

如果您嘗試自動執行此操作,則需要使用SQLPackage命令來生成腳本。如果您想在IDE中執行此操作,請發佈數據庫並選擇生成腳本的選項,而不是發佈更改。

我通常會先用msbuild構建項目。這將生成一個dacpac,我可以運行SQLPackage命令。

我的批處理文件看起來是這樣的:

msbuild .\MyDB\MyDB.sqlproj /t:build /p:Configuration="Local" 
sqlpackage /a:DeployReport /tsn:FTPROD /sf:.\MyDB\sql\Local\MyDB.dacpac /pr:.\MyDB\Publish\Production.publish.xml /op:.\Release\MyDB-Production.xml 
sqlpackage /a:script /tsn:DBServer /sf:.\MyDB\sql\Local\MyDB.dacpac /pr:.\MyDB\Publish\Production.publish.xml /op:.\Release\MyDB-Production.sql 

第一行生成項目。第二個創建一個部署報告,所以我可以很容易地看到會發生什麼變化。最後生成腳本。您的路徑可能會有所不同,因此您需要根據自己的環境進行調整。您需要能夠訪問運行該腳本的數據庫以生成腳本。

+0

好的,非常感謝Peter。 :-) – user167698

相關問題