web-dev-qa-db-ja.com

Visual Studio 2012でDACアプリケーションを作成/開く方法は?

Visual Studio2012でDACアプリケーションを実際に作成する方法や開く方法を理解するのに苦労しています。SQLServer2012を使用しています。SSDTをインストールしています。

Visual Studioから作成:

オンラインドキュメントによると、「データ層アプリケーション」という名前のプロジェクトテンプレートが表示されるはずですが、表示されるのはSQLServerデータベースプロジェクトだけです。彼らは同じですか?

SSMSから作成:

オンラインビデオでは、プレゼンターはSSMS->データベース->右クリック->プロジェクトの作成メニュー項目を使用しており、ウィザードの後に​​VSプロジェクトが開きます。このメニュー項目はありません。[タスク]-> [データ層アプリケーションとしてエクスポート]があります。これにより、DACPACファイルは作成されますが、VSプロジェクトは作成されません。また、VSからdacpacを開く方法がわかりませんでした。

11

DACPACの目的は、データベーススキーマの移植可能な表現を提供することです。これを使用して、そのスキーマをデータベースに展開し、Visual Studioのデータベースプロジェクトにインポートし、スキーマ比較などの関数で使用して、さまざまなソース。 Visual Studioでデータベースプロジェクトをビルドするたびに、.dacpacファイルが生成され、これを使用して、そのプロジェクトで定義されたスキーマをデータベースに展開できます。

完全な情報を得るのに最適な場所は SSDTヘルプ ですが、簡単な要約を示します。

すでにDACPACをお持ちの場合は、次の方法でVSで使用できます。

  • ソリューションエクスプローラーでプロジェクトを右クリックし、[インポート]-> [データ層アプリケーション(* .dacpac)]を選択して、スキーマをプロジェクトにインポートします。次に、dacpacを選択すると、コンテンツがSQLスクリプトに変換され、プロジェクトに追加されます。
  • SQL Server Object Explorerを開き、サーバーに移動し、[データベース]を右クリックして、[データ層アプリケーションの公開...]を選択することにより、dacpacをデータベースに公開します。これにより、DACPACのコンテンツがそのサーバー上のデータベースに公開されます。 。 [データベース]リストでデータベースを右クリックすると、データベースを更新できます。 SQL Serverオブジェクトエクスプローラービューが開いていない場合は、[表示]-> [SQLServerオブジェクトエクスプローラー]を選択して表示されるようにすることができます。

Visual StudioでDACPACを作成するには、次のことができます。

  • プロジェクトを構築します。これにより、bin\Debugディレクトリにdacpacが作成されます(デバッグモードでビルドする場合)。
  • プロジェクトのスナップショットを作成します。これにより、dacpacが作成され、プロジェクトに保存されます。データベーススキーマの特定の時点のバージョンを追跡し、データベースの以前のバージョンを最新の定義と比較すると非常に便利です。
  • SQL Serverオブジェクトエクスプローラーでデータベースを右クリックし、[データ層アプリケーションの抽出...]を選択します。これにより、データベースの内容を表すdacpacが作成されます。

最後に、どのビデオを表示したかはわかりませんが、SQL ServerオブジェクトエクスプローラーでDBを右クリックし、そこからプロジェクトを作成している可能性があります。多くの場合、スキーマを含むデータベースがすでに存在するため、これはデータベースプロジェクトを使用して開発を開始する非常に一般的な方法です。一般に、ベストプラクティスは、プロジェクトを使用して開発し、本番サーバーなどのさまざまな環境に展開するときにdacpacs(および場合によってはSqlPackage.exeなどのコマンドライン展開ツール)を使用することです(ここでも、dacpacsはスキーマ定義の転送と展開に最適です)さまざまな環境へ)。これがあなたの質問に答えるのに役立つことを願っています!

21
Kevin Cunnane