次の方法で共有


SQL プロジェクト ツール

SQL プロジェクトのツールは、いくつかの開発環境とコマンド ライン インターフェイスで使用できます。 SQL プロジェクトの主なツールは、SqlPackage コマンド ライン ユーティリティ、Visual Studio の SQL Server Data Tools (SSDT)、Azure Data Studio と Visual Studio Code 用の SQL Database プロジェクトの拡張機能です。

グラフィカル ツール

これらのツールは、SQL プロジェクト、T-SQL エディター、ビルドおよび発行プロセスのグラフィカル インターフェイスを提供します。

SQL Server Data Tools (SSDT) は、SQL プロジェクトのグラフィカル インターフェイスを提供する Visual Studio コンポーネントです。 SSDT には、テーブル用のビジュアル デザイナー、T-SQL エディター、ビルドおよび発行プロセスが用意されています。

SQL Database プロジェクトの拡張機能は、Azure Data Studio (ADS)VS Code 用の拡張機能です。 この拡張機能は、SQL プロジェクト、T-SQL エディター、ビルドおよび発行プロセスのグラフィカル インターフェイスを提供します。

機能セットの比較

機能 SDK スタイルの SSDT SSDT ADS VS Code
新しい空のプロジェクトを作成する x X X x
既存のデータベースから新しいプロジェクトを作成する x X x
既存の Microsoft.Build.Sql プロジェクトを開く X1 X x
ソリューションの管理と操作 x x
プロジェクトの実行ビルド x X X x
プロジェクトを既存のサーバーに発行する x X X x
プロジェクトをローカル開発インスタンスに発行する X2 X2 X3 X3
発行オプション/プロパティ x X x
ターゲット プラットフォームを更新できる x X X x
SQLCMD 変数 x X X x
プロジェクト参照 x x
Dacpac 参照 x X x
パッケージ参照 x
発行プロファイルの作成 x X x
SQL ファイルはプロジェクト フォルダーに配置すると追加できる x X x
SQL ファイルをビルドから除外できる x x
配置前/配置後スクリプト x X X x
新しいオブジェクト テンプレート X4 x X4 X4
プロジェクト ファイルをフォルダーに整理できる x X X x
スキーマ比較プロジェクトからデータベースへ x x
スキーマ比較データベースからプロジェクトへ x x
グラフィカル テーブル デザイナー x x
コード分析 - ルールの有効化/無効化 x
プロジェクト プロパティ - ビルド出力の設定 x x
プロジェクト プロパティ - 既定のスキーマ x
プロジェクト プロパティ - データベースの設定 x
プロジェクトのコード分析をスタンドアロンで実行 x
オブジェクトの名前変更とリファクタリング x
Intellisense がプロジェクト モデルのデータベース ファイルに提供される x
SQL Server オブジェクト エクスプローラーの接続/ビュー オブジェクト x X X x
SQL Server オブジェクト エクスプローラーのコンテキスト メニュー項目 x X x
SQL Server クエリ エディターの接続 x X x
  1. Visual Studio 2022 プレビュー 2 では、SDK スタイルのプロジェクトでは、従来の .sqlproj 拡張子の代わりに .sqlprojx 拡張子を使用します。
  2. ローカル開発インスタンスは、SQL Server LocalDB インスタンスです。
  3. ローカル開発インスタンスは SQL Server コンテナーです。
  4. 使用できるテンプレートのサブセットは限定されています

コマンド ライン ツール

SqlPackage は DacFx ライブラリの主要なコマンド ライン ユーティリティであり、.dacpac をデータベースにデプロイしたり、データベースのオブジェクトを SQL プロジェクトや .dacpac に抽出したりするなどのデータべース開発タスクの自動化を可能にします。

DacFx .NET ライブラリを使用してカスタム コンソール アプリケーションを構築し、データベース開発タスクを自動化できます。 Microsoft.SqlServer.Dac 名前空間には、データベース オブジェクトを作成、デプロイ、および抽出するためのクラスが含まれており、DacFx ライブラリの残りの部分の基礎となります。

CI/CD パイプラインは、コマンド ラインの実行、または .dacpac および SQL プロジェクトのデプロイに固有のタスクを使用して構築できます。 タスクの例としては GitHub sql-action や Azure DevOps の SqlAzureDacpacDeployment が挙げられますが、これらのタスクでは管理レイヤーの下にある SqlPackage が使用されるため、データベースの変更のデプロイが容易になります。

サードパーティ製のツール

SQL プロジェクトとデータベースのデプロイに関連する機能を提供するサード パーティ製のツールを使用できます。 dbatools など、一部のツールはオープンソースです。

開発者は、SQL プロジェクトに関する拡張ポイントを活用して、コード分析や展開プランのカスタマイズなど、さまざまなプロジェクトを共有しています。 これらのプロジェクトの一部を次に示します。