2016-08-09 93 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部署。

相关问题