Visual Studio Code 用の MSSQL 拡張機能は、Azure SQL (Azure SQL Database、Azure SQL Managed Instance、Azure VM 上の SQL Server を含む)、Fabric の SQL データベース、またはバックエンド データベースとして SQL Server を使用するアプリケーションを構築する開発者をサポートするように設計されています。 この拡張機能は、データベースへの接続、データベース スキーマの設計と管理、データベース オブジェクトの探索、クエリの実行、クエリ プランの視覚化のための包括的な機能スイートを備えており、Visual Studio Code 内の SQL 開発エクスペリエンスを変革します。
この拡張機能の最新の機能強化は、生産性の向上を目的としています。 ローカルとクラウドのいずれで実行されているデータベースを操作するとしても、この拡張機能によって、高度な IntelliSense、効率的な Transact-SQL スクリプトの実行、カスタマイズ可能なオプションが提供されます。 この結果、最新かつ合理化された SQL 開発ワークフローを利用できます。
Visual Studio Code に MSSQL 拡張機能をインストールする
Visual Studio Code で SQL 開発を開始するには、 MSSQL 拡張機能をインストールします。
- Visual Studio Code を開きます。
- アクティビティ バーの [拡張機能 ] アイコンを選択します (macOS の場合は
Cmd+Shift+Xを押すか、Windows/Linux ではCtrl+Shift+Xを押します)。 -
検索バーに「
mssql」と入力します。 - 結果で SQL Server (mssql) を見つけて選択します。
- [インストール] ボタンを選択します。
ヒント
アクティビティ バーに MSSQL アイコンが表示され、[ 接続 ] ビューが使用可能になると、拡張機能が正しくインストールされていることがわかります。
モダン UI
Visual Studio Code 用の MSSQL 拡張機能では、強化された UI の 一般提供 が導入されています。これは、SQL Server、Azure SQL、および Fabric 上の SQL データベース全体で SQL 開発エクスペリエンスを向上させるために設計されています。
この改良されたエクスペリエンスにより、次のような主な改善が実現されます。
- [接続] ダイアログ
- オブジェクト エクスプローラー (フィルター処理)
- テーブル デザイナー (Table Designer)
- クエリ結果ペイン
- クエリ プラン ビジュアライザー
これらの機能はシームレスに統合され、既定で有効になりました。セットアップは必要ありません。
接続ダイアログ
[接続] ダイアログでは、シンプルで直感的なインターフェイスを使用して、Azure SQL でホストされているデータベース (Azure SQL Database、Azure SQL Managed Instance、Azure VM 上の SQL Server を含む)、ファブリック内の SQL データベース、または SQL Server にすばやく接続できます。 さまざまなシナリオに対応するための複数の入力オプションが用意されています。
パラメーター: サーバー名、データベース名、ユーザー名、パスワードなど、個々の接続の詳細を入力します。
接続文字列: より高度な構成で完全な接続文字列を直接入力します。
Azure の参照: Azure アカウント内の使用可能なデータベース インスタンスおよびデータベースを参照します。サブスクリプション、リソース グループ、場所でフィルター処理するオプションが含まれます。
接続グループ: 接続をフォルダーにグループ化し、色を割り当てて視覚的に簡単に識別することで、環境を整理します。 接続を作成または編集するときに、グループを簡単に割り当てたり変更したりできます。
新しい接続の作成に加え、[保存された接続] と [最近の接続] パネルがダイアログに含まれるようになり、以前に使用したサーバーに簡単に再接続できるようになりました。 ナビゲーションが向上して使いやすくなった改善されたレイアウトを使用し、接続を効率よく編集して保存できます。 強化された UI により、接続の詳細の変更やデータベースの切り替えがこれまで以上にスムーズになります。
オブジェクト エクスプローラー (フィルター処理)
オブジェクト エクスプローラーを使用すると、ユーザーはデータベース、テーブル、ビュー、プログラミング項目などのデータベース オブジェクト間を移動できます。 強化されたフィルター機能により、大規模で複雑なデータベース階層内で特定のオブジェクトを見つけることが簡単になりました。
フィルターの適用: 名前、所有者、作成日などのプロパティでデータベース オブジェクトをフィルター処理します。 フィルターは、データベース、テーブル、ビュー、プログラミングなど、複数のレベルに適用できます。
フィルターの編集: 既存のフィルターを調整または更新して、オブジェクト リストをさらに絞り込みます。
フィルターの解除: 適用されたフィルターを簡単に削除して、階層内のすべてのオブジェクトを表示します。
これらのフィルターによって柔軟性と制御が提供されるため、大規模なデータベースをすばやく管理したり、関連するオブジェクトを見つけたりすることが容易になります。
テーブル デザイナー (Table Designer)
テーブル デザイナーには、データベースのテーブルを作成および管理するための新しい UI が用意されており、テーブルの構造のあらゆる面をカスタマイズする高度な機能が含まれています。
列: 新しい列の追加、データ型の設定、null 値許容の定義、既定値の指定を行います。 また、インターフェイス内で、列を主キーすなわち ID 列として直接指定することもできます。
主キー: 1 つ以上の列をテーブルの主キーとして簡単に定義し、各行を一意に識別できるようにします。
インデックス: インデックスを作成して管理し、データ取得を高速化するために追加の列をインデックスとして追加することで、クエリのパフォーマンスを向上させます。
外部キー: 他のテーブルの主キーを参照する外部キーを追加してテーブル間のリレーションシップを定義し、テーブル間のデータ整合性を確保します。
CHECK 制約: 入力するデータに特定の条件 (値の範囲やパターンなど) を適用するルールを設定します。
詳細オプション: システムのバージョン管理やメモリ最適化テーブルなど、より高度なプロパティと動作を構成します。
デザイナー内の [作成としてのスクリプト] パネルには、テーブル デザインを反映して自動的に生成された T-SQL スクリプトが表示されます。 次のようなオプションがあります。
発行: [発行] を選択して、変更内容をデータベースに直接適用します。 このアクションは DacFX (データ層アプリケーション フレームワーク) を利用するため、スキーマ更新がスムーズかつ確実にデプロイされます。
スクリプトのコピー: 生成された T-SQL スクリプトをプレビュー パネルからコピーして手動で実行するか、必要に応じてエディターで直接開き、さらに調整や変更を行うことができます。
データの表示と編集 (プレビュー)
データの表示と編集 (プレビュー) は、Transact-SQL データ操作言語 (DML) ステートメントを記述せずに、エディター内でテーブルデータを直感的かつ対話的にブラウズして修正する方法を提供します。 開発者は直感的なインターフェイスでデータを操作でき、簡単な編集から詳細な検証まですべてを簡略化できます。
この機能を使用するには、オブジェクト エクスプローラーでテーブルを右クリックし、[ 表示] と [データの編集 (プレビュー)] の順に選択します。 テーブル データは、新しいエディター タブ内のデータ グリッドで開き、ページごとに構成された行に基づくページング コントロールを使用して、使い慣れたスプレッドシートのようなレイアウトで内容が表示されます。
主な機能は次のとおりです。
インライン編集: グリッド内でセル値を直接更新します。 編集はリアルタイムで検証され、正しくない入力 (無効なデータ型や制約違反など) のエラー メッセージが返されます。 入力が正しくないセルが赤で強調表示されています。
行の追加と削除: 新しい行を挿入するか、既存の行を削除します。これにより、開発とテスト中にデータをすばやく調整できます。
改ページ: スムーズなスクロールとパフォーマンスを実現するために、組み込みのページング コントロールを使用して大規模なデータセットを効率的に読み込み、移動します。
変更の保存: [ 変更の保存] を選択するまで、すべての編集は保留中の状態のままであり、更新がデータベースにコミットされるタイミングを完全に制御できます。
スクリプトの表示: このウィンドウには、データ グリッドで実行されたすべてのアクションをリアルタイムで反映する読み取り専用の DML スクリプトが表示されます。 これにより、変更を保存する前に、基になる DML 操作を確認できます
[クエリ結果] ウィンドウ
Visual Studio Code 用の MSSQL 拡張機能では、クエリ結果のエクスペリエンスが強化され、データ出力を効率的に視覚化して理解するのに役立ちます。 クエリ結果は Visual Studio Code の下部パネルに表示されます。ここには、統合ターミナル、出力、デバッグ コンソール、その他のツールも用意され、簡単にアクセスできる統合インターフェイスが構成されます。
ヒント
以前のエクスペリエンスと同様に、拡張ビューとして新しいタブでクエリ結果を開くことができます。
[クエリ結果] ウィンドウの主な機能は次のとおりです。
グリッド ビュー: クエリ結果を使い慣れたグリッド形式で表示し、データを簡単に検査できるようにします。 結果を新しいタブに表示して、より明確で整理されたビューを表示することもできます
コピー オプション: 結果グリッド内で右クリックして、"すべて選択"、"コピー"、"ヘッダー付きでコピー"、"ヘッダーのコピー" などのオプションを利用できます。他の用途のためにデータを転送するのに便利です。
クエリ結果の保存: クエリ結果を JSON、Excel、CSV などの複数の形式に保存して、Visual Studio Code の外部でデータを操作できます。
インライン並べ替え: クエリ結果ビューで列ヘッダーを直接選択することで、データを並べ替えることができます。 並べ替えを昇順または降順で行って、データの特定のサブセットを簡単に分析できます。
推定プラン: [推定プラン] ボタンは、クエリ ツール バーの [クエリの実行] ボタンの横にあります。 フローチャート アイコンとして表示されます。これを使用すると、クエリそのものは実行せずに推定実行プランを生成できます。 この機能によって、クエリのパフォーマンスに関する貴重な分析情報を得ることができ、実際のクエリを実行する前に潜在的なボトルネックと非効率性を特定するのに役立ちます。
実際のプランを有効にする: [実際のプランを有効にする] というラベルが付いた新しいボタンが、結果ウィンドウの右上隅にある [推定プラン] ボタンのすぐ後にありますが、これを使用すると実行されたクエリの実際のクエリ プランを表示できます。 この追加機能により、クエリのパフォーマンスに関する詳細な分析情報が得られ、ボトルネックと非効率性を特定するのに役立ちます。
このように更新されたクエリ結果エクスペリエンスは、柔軟性と改善されたワークフロー統合を提供するように設計されており、開発者はデータをより効果的に操作できます。
ヒント
mssql.openQueryResultsInTabByDefault設定を使用して、クエリ結果の動作をカスタマイズできます。
trueに設定すると、クエリ結果は既定で新しいタブで開き、ワークスペースを減らすことができます。
クエリ プラン ビジュアライザー
Visual Studio Code 用の MSSQL 拡張機能のクエリ プラン ビジュアライザーを使用すると、開発者は詳細な実行プランを表示して SQL クエリのパフォーマンスを分析できます。 このツールで、SQL クエリの実行方法に関する分析情報が提供され、開発者がボトルネックを特定し、クエリを最適化するのに役立ちます。
主な機能は次のとおりです。
- ノード ナビゲーション: 実行プランの各ステップはノードとして表され、さまざまな方法でプランを操作できます。 ノードを選択すると、特定の操作に関するヒントや詳細情報を表示できます。 さらに、ノード ツリーの折りたたみや展開を行い、ビューを簡略化してクエリ プランの重要な領域に焦点を当てることもできます。
- ズーム コントロール: ビジュアライザーには、プランを詳細に分析するのに役立つ柔軟なズーム オプションが用意されています。 ズームインまたはズームアウトして詳細レベルを調整したり、"ウィンドウのサイズに合わせて大きさを変更する" 機能を使用し、ビューのサイズを変更してプラン全体を画面に合わせたり、特定の要素を正確に調べるためにカスタム ズーム レベルを設定したりできます。
- メトリックと強調表示: メトリック ツール バーを使用すると、主要業績評価指標を分析し、負荷の高い操作を強調表示できます。 ボトルネックを特定するために、ドロップダウン リストから [実際の経過時間]、[コスト]、[サブツリーのコスト]、[読み取った行数] などのメトリックを選択できます。これらのメトリックを使用して、クエリ プラン内の特定のノードを探して詳細な分析を行うことができます。
右側のサイドバーでは、より多くのアクションにすばやくアクセスできます。
- プランの保存: 後で参照できるように、現在の実行プランを保存します。
- XML を開く: クエリ プランの XML 表現を開き、コード レベルで詳細を調べます。
- クエリを開く: 実行プランが生成されたクエリをツール バーから直接表示します。
- ツールヒントの切り替え: 各ノード上の追加の詳細に関するヒントを有効または無効にします。
- プロパティ: 実行プラン内の各ノードのプロパティを表示します。重要度またはアルファベット順に並べ替えるオプションが含まれます。
サポートされるオペレーティング システム
この拡張機能は現在、次のオペレーティング システムに対応しています。
- Windows (x64 | x86 |Arm64)
- macOS (x64 |Arm64)
- Linux Arm64
- Ubuntu 18.04、20.04、22.04
- Debian 10、11、12
- CentOS 7、8 / Oracle Linux 7、8
- Red Hat Enterprise Linux (RHEL): 8、9
- Fedora 35、36
- OpenSUSE Leap 15
オフライン インストール
拡張機能は、アクティブ化の際に必須の SqlToolsService パッケージをダウンロードしてインストールできます。 [拡張機能] ビューで [VSIX からのインストール...] オプションを選択し、バンドルされたリリースを [リリース] ページでインストールすると、インターネットにアクセスできないマシンでも拡張機能を使用できます。 オペレーティング システムごとに必須サービスが組み込まれている .vsix ファイルがあります。 ご使用の OS に対応するファイルを選択し、ダウンロードしてインストールしてから開始します。 フル リリースを選択し、アルファ リリースまたはベータ リリースは無視することをお勧めします。これらはテストで使用されるデイリー ビルドです。
フィードバックとサポート
アイデアやフィードバックがある場合、またはコミュニティに参加したい場合は、 aka.ms/vscode-mssql-discussions でディスカッションに参加してください。 バグを報告するには、 aka.ms/vscode-mssql-bug にアクセスしてください。新しい機能を要求するには、 aka.ms/vscode-mssql-feature-request に移動します。