SQLノートブック

Visual Studio Code 用の MSSQL 拡張機能の SQL Notebook は、ネイティブの Visual Studio Code Jupyter ノートブックを使用したノートブックベースの SQL 開発を提供します。 対話型 SQL クエリの実行と Markdown ドキュメント セルを組み合わせて、実行可能なクエリ コレクション、ドキュメント データベース操作を構築し、再現可能な分析を共有できます。

特徴

SQL Notebook には、次の機能があります。

  • 各セルの下にインライン結果が表示されたノートブック コード セルで、Transact-SQL (T-SQL) クエリを対話形式で実行します。

  • 既存のノートブック ツールとの完全な互換性を確保するには、ネイティブの Visual Studio Code Jupyter ノートブック形式 (.ipynb ファイル) を使用します。

  • 並べ替え、フィルター処理、セルの選択、null 値の強調表示、およびコピー オプション (ヘッダーを含むコピーを含む) を使用して、豊富なデータ グリッドでクエリ結果を表示します。

  • アクティブなデータベース接続に基づいてテーブルと列名の候補を含む、IntelliSense を使用して SQL を記述します。

  • Sql コード セルと共に Markdown テキスト セルを追加して、クエリを文書化し、結果に注釈を付け、ストーリーワークフローを作成します。

  • 各ノートブックを SQL Server インスタンスに接続し、同じサーバー上のデータベースを切り替えます。

  • セルを個別に実行するか、すべてのセルを順番に実行します。

  • GitHub Copilot を使用して、コード セルのインライン クエリ候補とチャット駆動型ノートブックの作成を行い、自然言語の説明から完全なノートブックを生成します。

  • Jupyter 拡張機能をインストールして、SQL セルを同じノートブック内の他の言語カーネル (Python など) と組み合わせます。

  • 他のユーザーが Visual Studio Code または Jupyter 互換環境で開くことができる .ipynb ファイルとしてノートブックをエクスポートして共有します。

前提条件

SQL Notebook を使用する前に、次の要件が満たされていることを確認します。

  • Visual Studio Code 用の MSSQL 拡張機能がインストールされています。 インストール手順については、 Visual Studio Code の MSSQL 拡張機能の概要を 参照してください。

  • アクティブなデータベース接続は、MSSQL 拡張機能を介して確立されます。 接続手順については、「Visual Studio Code用の MSSQL 拡張機能を使用してデータベースに接続する」を参照してください。

  • (省略可能) Visual Studio Code 用 Jupyter 拡張機能は、SQL と共に Python などの他のカーネルを同じノートブックで使用したい場合に利用できます。

SQL ノートブックを作成する

新しい SQL ノートブックは、いくつかの方法で作成できます。

  • Windows および Linux の 場合はコマンド パレット (Ctrl+Shift+P 、macOS の場合は Cmd+Shift+P ) を開き、「 New Notebook」と入力し、コマンドを選択します。

  • [ ファイル ] メニューに移動し、[ 新しいファイル] を選択し、Jupyter Notebook の種類を選択します。

  • MSSQL 拡張機能の オブジェクト エクスプローラー でデータベースを右クリックし、コンテキスト メニューから [新しいノートブック ] を選択します。

新しいノートブックを作成するときに、 MSSQL カーネルを選択して、コード セルで T-SQL の実行を有効にします。

データベースに接続する

各 SQL ノートブックでは、クエリを実行するためにアクティブなデータベース接続が必要です。 MSSQL カーネルを使用してノートブックを開くと、拡張機能によって、接続プロファイルを選択するか、新しい接続プロファイルを作成するように求められます。

Important

各ノートブックでは、カーネルごとに 1 つのサーバー接続がサポートされます。 1 つの SQL Server インスタンスに接続し、そのサーバー上のデータベースを切り替えることができますが、同じノートブック内の複数のサーバーに接続することはできません。 別のサーバーを操作するには、別のノートブックを作成するか、ノートブックの接続を変更します。

SQL セルの書き込みと実行

SQL コード セルを使用すると、ノートブック内で T-SQL クエリを対話形式で記述および実行できます。

  1. ノートブック のツール バーで [ + コード ] を選択して、新しいコード セルを追加します。

  2. セルに T-SQL クエリを入力します。 セルには、接続されたデータベースからのテーブルと列名の候補を含む IntelliSense など、標準クエリ エディターと同じ SQL 編集エクスペリエンスが用意されています。

  3. クエリ を実行 するには、[セルの実行] (セルの左側にある再生ボタン) を選択します。

  4. 結果は、リッチ データ グリッドのセルのすぐ下に表示されます。

ノートブック内のすべてのセルを順番に実行するには、ノートブック ツールバーの [ すべて実行 ] を選択します。

ヒント

Ctrl+Enter (Windows および Linux) または Cmd+Enter (macOS) を使用して現在のセルを実行し、そのセルを維持します。 Shift+Enter キーを使用して現在のセルを実行し、次のセルに進みます。

クエリ結果

SQL Notebook のクエリ結果は、標準のクエリ エディターで使用できるのと同じ豊富なデータ グリッド エクスペリエンスを提供します。

  • 並べ替え: 列ヘッダーを選択して、結果を昇順または降順に並べ替えます。
  • フィルター処理: 列ヘッダーのフィルター アイコンを使用して、結果データをフィルター処理します。
  • セルの選択: 結果グリッド内の個々のセルまたはセル範囲を選択します。
  • Null 強調表示: NULL 値は、簡単に識別できるように結果グリッドで視覚的に強調表示されます。
  • コピー オプション: 選択したセルを右クリックして、[ コピー]、[ ヘッダー付きコピー]、および [すべて選択] オプションにアクセスします。

Markdown セルを追加する

Markdown セルを使用して、書式設定されたテキスト、見出し、リスト、リンクを SQL コード セルと共に追加できます。 クエリの文書化、ビジネス ロジックの説明、予想される結果に関するメモの追加に使用します。

  1. ノートブック のツール バーで [+ マークダウン ] を選択して、新しいテキスト セルを追加します。

  2. Markdown コンテンツを入力します。 入力するとプレビューが表示されます。

  3. セルの外側を選択して Markdown テキストをレンダリングします。

もう一度セルを選択して編集モードに戻ります。

複数のカーネルを使用する

MSSQL 拡張機能は、すぐに使用する SQL カーネルを提供します。 Python やその他のカーネルのサポートをバンドルする Jupyter 拡張機能をインストールすることで、より多くの言語カーネルでノートブックを拡張できます。 SQL データ クエリを、同じノートブック内の Python データ処理セルと視覚化セルと組み合わせることができます。

GitHub Copilot の統合

GitHub Copilot は SQL Notebook と連携して、クエリの記述とノートブックの生成に役立ちます。 GitHub Copilot 拡張機能をインストールすると、次の情報が得られます。

  • インライン候補: SQL コード セルを入力すると、GitHub Copilot は、データベース コンテキストと周囲の Markdown セルに基づいてクエリの入力候補を提案します。

  • チャット駆動型ノートブックの作成: GitHub Copilot Chat を使用して、Markdown セルと SQL セルを交互に含む完全なノートブックを生成します。 実行する分析について説明すると、GitHub Copilot によって完全なノートブック構造が作成されます。

たとえば、GitHub Copilot Chat を開き、次のようなプロンプトを使用できます。

I have a SQL Notebook open connected to AdventureWorks. Create cells for a sales
analysis: list all tables, find top 10 customers by revenue, show revenue by product
category, and demonstrate a safe data modification using BEGIN TRAN / ROLLBACK.

GitHub Copilot では、Markdown ドキュメント セルと T-SQL コード セルが生成されます。このセルは、[ すべて実行] を使用して個別またはすべてを一度に実行できます。

データベースの切り替え

同じサーバー接続内の別のデータベースに切り替えるには:

  1. ノートブックの接続状態領域に表示されるデータベース名を選択します。

  2. ドロップダウン リストから別のデータベースを選択します。

それ以降のすべてのセル実行では、新しく選択したデータベースが使用されます。

別のサーバーに切り替えるには、ノートブックの接続プロファイルを変更する必要があります。 操作する必要があるサーバーごとに個別のノートブックを作成することを検討してください。

制限事項

ノートブックごとに 1 つのサーバー接続: 現在、各ノートブックは 1 つの SQL Server インスタンスに接続します。 そのサーバー上のデータベースを切り替えることができますが、同じノートブック内の 2 つ目のサーバーに接続することはできません。

フィードバックとサポート

アイデアやフィードバックがある場合、またはコミュニティに参加したい場合は、 https://aka.ms/vscode-mssql-discussionsでディスカッションに参加してください。 バグを報告するには、 https://aka.ms/vscode-mssql-bugにアクセスしてください。 新しい機能を要求するには、 https://aka.ms/vscode-mssql-feature-requestに移動します。