2016-08-09 14 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については、「データベースプロジェクト」で説明しています。これで、Azureのサポートをソリューションに追加し、データベースを配備します。しかし、Azure does not support FILESTREAM。

だからにはこの場合1つのデータベースプロジェクトがありません。サポート対象の最小限のプロジェクトを選択する必要があります。

この場合、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を使用して再構築してdacpacを生成することができます。 PowerShellを使用してプロジェクトのターゲットプラットフォームを変更して、自動化することができます。

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

そこから、私たちは公開プロファイルでdacpacを展開できます。

関連する問題