2016-08-09 90 views
2

我可以在發佈配置文件中指定目標平臺(SQL Server 2014,SQL Server 2016,Azure等)嗎?我有一個數據庫項目,有時我會將其部署到本地SQL Server 2016實例,而其他時間則會部署到Azure SQL數據庫。我想指定2個不同的發佈配置文件,並且當時可以隨時更改目標平臺。這可能嗎?發佈配置文件中的Visual Studio數據庫項目目標平臺

回答

1

Azure,MSSQL 2014,MSSQL 2016對Database Project有不同的限制和要求。

想象一下: 您在MSSQL 2014中使用FILESTREAM,並將在MSSQL 2016中使用。並且您的FILESTREAM在Database Project中進行了介紹。現在,您在解決方案中添加Azure支持,並且希望部署數據庫。但是,Azure does not support FILESTREAM。

所以你不能在這種情況下有一個數據庫項目。您需要選擇最小支持的目標項目:

在這種情況下,它是Microsoft Azure SQL Databse(或V12)。當您選擇最小支持的目標平臺時,您可以確保所有「更高」的版本都支持它。

假設Azure是MSSQL Server功能的一些子集。並且數據庫項目驗證所有使用跨目標平臺的功能。

如果你害怕選擇Microsoft Azure SQL Databse作爲目標平臺,你將無法發佈到MSSQL Server 2016 - 沒問題,它將工作。

如果您需要使用不同的連接字符串或發佈設置 - 創建不同的發佈配置文件。

+0

謝謝 - 我不知道爲什麼我沒有打算嘗試設置爲Azure V12併發布到SQL 2016.完美工作。 – mike

+0

@mike很樂意幫忙。我可以想象,當你第一次看到目標平臺選項時,你可能會認爲「它只適用於這個平臺」 – Backs

0

您可以使用msbuild和rebuild來生成dacpac。我們可以使用PowerShell更改項目中的目標平臺以實現自動化的方式。

msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean 

從那裏我們可以使用發佈配置文件進行dacpac部署。

相關問題