SQL Database プロジェクトの拡張機能をお使いになる前に
この記事では、SQL Database プロジェクト拡張機能の使用を開始する 3 つの方法について説明します。
[データベース プロジェクト] ビューに移動するか、コマンド パレットで [データベース プロジェクト: 新規] を検索して、新しいデータベース プロジェクトを作成します。
既存のデータベース プロジェクトは、コマンド パレットの [データベース プロジェクト: 既存のものを開く] から開くことができます。
コマンド パレットの [データベース プロジェクト: データベースからのプロジェクトの作成] を使って、または [接続] ビューで [データベースからのプロジェクトの作成] を選んで、既存のデータベースから始めます。
SQL プロジェクトを作成するか開いたら、SQL プロジェクトで開発を始められる状態になります。 次のような操作を実行できます。
- テーブル デザイナーでテーブルを編集する
- プロジェクトをビルドして発行する
- スキーマ比較を使用して変更を視覚化する
- データベースに行われた変更からプロジェクトを更新する
空のデータベース プロジェクトを作成する
[データベース プロジェクト] ビューで [新しいプロジェクト] ボタンを選び、表示されたテキスト入力にプロジェクト名を入力します。 表示される [フォルダーの選択] ダイアログで、プロジェクトのフォルダー、.sqlproj
ファイル、その他のコンテンツが保持されるディレクトリを選択します。
空のプロジェクトが開かれ、編集できるよう [データベース プロジェクト] ビューに表示されます。
既存のプロジェクトを開く
[データベース プロジェクト] ビューで [プロジェクトを開く] ボタンを選択し、表示されるファイル ピッカーから既存の .sqlproj
ファイルを開きます。 既存のプロジェクトは、Azure Data Studio、VS Code または Visual Studio SQL Server Data Tools で作成されています。
既存のプロジェクトが開き、編集のためにその内容が [データベース プロジェクト] ビューに表示されます。
既存のデータベースからデータベース プロジェクトを作成する
空のプロジェクトから始める代わりに、データベースの既存のオブジェクトを使って SQL データベース プロジェクトをすばやく設定できます。
オブジェクト エクスプローラーで
[接続] ビューで、抽出するデータベースを含む SQL インスタンスに接続します。 データベースを右クリックして、コンテキスト メニューから [データベースからのプロジェクトの作成] を選びます。
フォルダー構造の設定は既定では [スキーマ/オブジェクト型] に設定されており、スクリプト化されるときに既存のオブジェクトを自動的に整理するさまざまな方法が用意されています。フォルダー構造設定のオプションは次のとおりです。
- ファイル: すべてのオブジェクトに対して 1 つのファイルが作成されます
- フラット: 個々のファイル内のすべてのオブジェクトに対して 1 つのフォルダーが作成されます
- オブジェクト型: オブジェクトの型ごとにフォルダーが作成され、各オブジェクトが 1 つのファイルにスクリプト化されます
- スキーマ: スキーマごとにフォルダーが作成され、各オブジェクトが 1 つのファイルにスクリプト化されます
- スキーマ/オブジェクト型: スキーマごとにフォルダーが作成され、そのフォルダー内にオブジェクトの型ごとにフォルダーが作成されて、各オブジェクトが 1 つのファイルにスクリプト化されます
[データベース プロジェクト] ビューで
[プロジェクト] ビューで [データベースからプロジェクトをインポート] ボタンを選択し、SQL インスタンスに接続します。 接続が確立されたら、使用可能なデータベースのリストからデータベースを選択し、プロジェクトの名前を設定します。
最後に、抽出のフォルダー構造を選びます。 新しいプロジェクトが開き、選択したデータベースの内容に対応する SQL スクリプトが含まれます。
その他のアクション
ビルドして発行する
データベース プロジェクトのデプロイは、SQL Database Projects 拡張機能でプロジェクトをデータ層アプリケーション ファイル (dacpac) としてビルドし、サポートされているプラットフォームに発行することで行うことができます。 このプロセスの詳細については、「プロジェクトをビルドして公開する」を参照してください。
スキーマの比較
SQL Database Projects 拡張機能は、Schema Compare 拡張機能がインストールされている場合はそれとやり取りして、プロジェクトの内容を dacpac、既存のデータベース、または別のプロジェクトと比較します。 結果として得られるスキーマ比較を使用して、ソースとターゲットの違いを表示し、適用することができます。
データベースからプロジェクトを更新する
SQL プロジェクトに対してまだ行われていない変更がデータベースに行われた場合、データベースの状態から SQL プロジェクトを更新できます。 この更新を行うには、[接続] ビューのデータベースのコンテキスト メニューまたは [データベース プロジェクト] ビューの SQL プロジェクトのコンテキスト メニューから [データベースからプロジェクトを更新する] を選択します。