次の方法で共有


SQL Database Projects 拡張機能

Important

Azure Data Studio は、2026 年 2 月 28 日に廃止されます。 Visual Studio Codeを使用することをお勧めします。 Visual Studio Code への移行の詳細については、「Azure Data Studio の概要」を参照してください。

SQL Database Projects 拡張機能は、プロジェクト ベースの開発環境で SQL データベースを開発するための Visual Studio Code 拡張機能です。 互換性のあるデータベースには、SQL Server、Azure SQL Database、Azure SQL Managed Instance、Fabric の Warehouse、Fabric の SQL データベース (プレビュー) が含まれます。 SQL プロジェクトは、テーブル、ストアド プロシージャ、関数など、単一データベースのスキーマを構成する SQL オブジェクトのローカル表現です。 SQL Database プロジェクトをビルドすると、出力成果物は .dacpac ファイルになります。 SQL Database プロジェクトを SQL Database Projects 拡張機能で発行するか、.dacpac コマンド ライン インターフェイスを使用して.dacpacを発行することで、新しいデータベースと既存のデータベースを更新して、の内容と一致させることができます。

配置前および配置後のスクリプトとデータベース オブジェクトを含む SQL Database プロジェクトの概要のスクリーンショット。

SQL プロジェクトの概念の詳細については、「SQL データベース プロジェクトとは」を参照してください。

拡張機能の特長

SQL Database Projects 拡張機能には、次の機能があります。

  • 新しい空の Microsoft.Build.Sql プロジェクトを作成します。
  • 接続されたデータベースから新しいプロジェクトを作成します。
  • Visual Studio Code または SQL Server Data Tools で以前に作成したプロジェクトを開きます。
  • プロジェクト内のオブジェクト (テーブル、ビュー、ストアド プロシージャ) またはカスタム スクリプトを追加または削除して、プロジェクトを編集します。
  • フォルダー内のファイル/スクリプトを整理します。
  • システム データベースまたはユーザー dacpac への参照を追加します。
  • 1 つのプロジェクトをビルドします。
  • 1 つのプロジェクトをデプロイします。
  • デプロイ プロファイルから接続の詳細 (SQL Windows 認証) と SQLCMD 変数を読み込みます。

Install

SQL Database プロジェクト拡張機能は、Visual Studio Code にインストールできます。

SQL Database Projects 拡張機能は、Visual Studio Code 用の mssql 拡張機能と共にインストールされます。

依存関係

SQL Database Projects 拡張機能は、.NET SDK (必須) と AutoRest.Sql (省略可能) に依存しています。

.NET SDK

.NET SDK はプロジェクトのビルド機能に必要であり、サポートされているバージョンが拡張機能によって検出されない場合は、.NET SDK をインストールするように求められます。 .NET SDK は、 Windows、macOS、Linux 用にダウンロードしてインストールできます。

現在インストールされているバージョンの dotnet SDK を確認する場合は、ターミナルを開き、次のコマンドを実行します。

dotnet --list-sdks

.NET SDK をインストールすると、環境で SQL Database Projects 拡張機能を使用できるようになります。

一般的な問題

ソースの一覧に含まれていない Nuget.org、次のようなエラー メッセージが表示されることがあります。

  • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
  • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

nuget.org がソースとして登録されているかどうかを確認するには、コマンド ラインから dotnet nuget list source を実行し、nuget.org を参照する [Enabled] 項目の結果を確認します。nuget.org がソースとして登録されていない場合は、 dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org実行します。

サポートされていない .NET SDK のバージョンでは、次のようなエラー メッセージが表示される場合があります。

  • error MSB4018: The "SqlBuildTask" task failed unexpectedly.
  • error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_ (リンクされた存在しないファイルの終わり角かっこが一致しません)。

複数のバージョンがインストールされているときに SQL Database Projects 拡張機能で v6.x バージョンの .NET SDK を使用するように強制するには、SQL プロジェクトを含むフォルダーに global.json ファイルを追加します。

SQL プロジェクトのビルドのトラブルシューティングの詳細については、「 SQL プロジェクト ビルドのトラブルシューティング」を参照してください。

SQLCLR

データベース プロジェクトの SQLCLR オブジェクトは Visual Studio Code ではサポートされていません。これは、.NET Framework に依存し、SQL Database Projects 拡張機能では .NET を使用してプロジェクトをビルドするためです。

Workspace

SQL データベース プロジェクトは、Visual Studio Code の論理ワークスペース (フォルダー) 内に含まれています。 現在のワークスペースで開いているフォルダー内のすべての SQL プロジェクトは、既定で SQL Database プロジェクト ビューで使用できます。

[ プロジェクト ] ウィンドウのインターフェイスを使用して、ワークスペースのプロジェクトを手動で追加および削除できます。 ワークスペースの設定は、必要に応じて、 .code-workspace ファイルで手動で編集できます。

次の.code-workspace ファイルの例では、folders配列にはエクスプローラー ウィンドウに含まれるすべてのフォルダーが一覧表示され、dataworkspace.excludedProjects内のsettings配列には、[プロジェクト] ウィンドウから除外されているすべての SQL プロジェクトが一覧表示されます。

{
  "folders": [
    {
      "path": "."
    },
    {
      "name": "WideWorldImportersDW",
      "path": "..\\WideWorldImportersDW"
    }
  ],
  "settings": {
    "dataworkspace.excludedProjects": [
      "AdventureWorksLT.sqlproj"
    ]
  }
}