クイックスタート: Visual Studio Code を使用して Azure SQL Database または Azure SQL Managed Instance に接続してクエリの実行

適用対象:Azure SQL DatabaseAzure SQL Managed Instance

Visual Studio Code は、Linux、macOS、Windows に対応するグラフィカル コード エディターです。 SQL Server、Azure SQL Database、Azure SQL Managed Instance、Microsoft FabricのSQLデータベース、その他のプラットフォームのクエリ用MSSQL拡張機能もサポートしています。 このクイックスタートでは、Visual Studio Code を使用して Azure SQL Database または Azure SQL Managed Instance に接続し、Transact-SQL ステートメントを実行してデータのクエリ、挿入、更新、および削除を実行する方法について説明します。

前提条件

  • 無料利用枠のオプション: 新しい開発用またはサンプル データベースの場合は、Azure SQL Database の無料利用枠を確認し、そのオファーを通じてデータベースをプロビジョニングしてください。 MSSQL拡張機能でも作成できます。 このクイックスタートではそのデータベースを使い、その後はAdventure Worksの例ではなく既存の無料データベースをクエリすると進めてください。 リソースを作成する前に、利用資格、月額限度、一時停止時または超過課金時の動作を確認しましょう。

  • Azure SQL Database または Azure SQL Managed Instance のデータベース。 以下のいずれかのクイック スタートを使用して、Azure SQL Database でデータベースを作成し、構成できます。

    アクション Azure SQL Database Azure SQL Managed Instance
    作成 ポータル ポータル
    CLI CLI
    PowerShell PowerShell
    設定 サーバーレベルの IP ファイアウォール規則 仮想マシン (VM) からの接続
    オンプレミスからの接続
    データの読み込み クイックスタートごとに読み込まれた Wide World Importers Wide World Importers を復元する
    GitHub の BACPAC ファイルから Adventure Works を復元またはインポートする

    重要

    この記事のAdventure Worksスクリプトにはサンプル表が必要です。 新しい空の無料ティアデータベースにはそれらが含まれていません。 無料プランのパス用にデータベースを復元またはインポートしないでください。代わりに、既存の無料プランデータベースをクエリするを使用してください。 SQL マネージド インスタンスの場合は、Adventure Works データベースをインスタンス データベースにインポートするか、Wide World Importers データベースを使用するようにこの記事のスクリプトを修正する必要があります。

Visual Studio Code のインストール

最新バージョンの Visual Studio Code がインストールされていることを確認します。 インストールのガイダンスについては、「Visual Studio Code のインストール」を参照してください。

Visual Studio Code を構成する

Azure SQL Database または Azure SQL Managed Instance に接続するように Visual Studio Code を構成するには、オペレーティング システムに基づいて必要な拡張機能と依存関係をインストールする必要があります。 まず、特定の OS に応じて以下の手順に従ってください。

Windows

以下の手順に従って MSSQL拡張 を読み込みます:

  1. Visual Studio Code を開きます。
  2. [拡張機能] ウィンドウ (または Ctrl + Shift + X) を開きます。
  3. sql を検索し、SQL Server (mssql) 拡張機能をインストールします。

追加のインストールガイダンスについては、Visual Studio CodeのMSSQL拡張をご覧ください。

macOS

macOSの場合はOpenSSLをインストールする必要があり、これはMSSQL拡張機能が使う.NET Coreの前提条件です。 使用するターミナルを開き、次のコマンドを入力して、brew と OpenSSL をインストールします。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install openssl
mkdir -p /usr/local/lib
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/

Linux(Ubuntu)

以下の手順に従って MSSQL拡張 を読み込みます:

  1. Visual Studio Code を開きます。
  2. [拡張機能] ウィンドウ (または Ctrl + Shift + X) を開きます。
  3. sql を検索し、SQL Server (mssql) 拡張機能をインストールします。

追加のインストールガイダンスについては、Visual Studio CodeのMSSQL拡張をご覧ください。

サーバーの接続情報を取得する

Azure SQL Database に接続するために必要な接続情報を取得します。 後の手順で、完全修飾サーバー名またはホスト名、データベース名、およびログイン情報が必要になります。

  1. Azure portal にサインインします。

  2. [SQL データベース] か [SQL Managed Instance] ページに移動します。

  3. [概要] ページで、SQL データベースの場合は [サーバー名] の横の完全修飾サーバー名を確認し、SQL マネージド インスタンスの場合は [ホスト] の横の完全修飾サーバー名を確認します。 サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。

言語モードを SQL に設定

Visual Studio Code で、言語モードを [SQL] に設定し、mssql コマンドと T-SQL IntelliSense を有効にします。

  1. 新しい Visual Studio Code ウィンドウを開きます。

  2. Ctrl + N キーを押すと、新しいプレーン テキスト ファイルが開きます。

  3. ステータス バーの右下隅の [プレーン テキスト] を選択します。

  4. [言語モードの選択] ドロップダウン メニューを開き、[SQL] を選択します。

データベースに接続する

Visual Studio Code を使用して、サーバーへの接続を確立します。

重要

続行する前に、サーバーおよびサインインの情報が準備できていることを確認します。 接続プロファイル情報の入力を開始した後は、Visual Studio Code からフォーカスを移動すると、プロファイルの作成をやり直さなければならなくなります。

  1. Visual Studio Code で、Ctrl + Shift + P キー (または F1 キー) を押してコマンド パレットを開きます。

  2. connect を入力し、MS SQL:Connect を選択します。

  3. [接続プロファイルの作成] を選択します。

  4. プロンプトに従って、新しいプロファイルの接続プロパティを指定します。 それぞれの値を指定した後、Enter キーを押して続行します。

    財産 提案された値 Description
    サーバー名 完全修飾サーバー名 例えば「 <Contoso-server-name>.database.windows.net」のようなもの。
    データベース名 使用するデータベース名 無料ティアのパスでは、すでにプロビジョニングした無料データベースの名前を入力してください。 Adventure Worksパスには、mySampleDatabaseなどのサンプル テーブルを含むデータベースを入力します。
    認証 SQL ログイン このチュートリアルでは、SQL 認証を使用します。
    ユーザー名 ユーザー名 サーバーを作成するために使用するサーバー管理者アカウントのユーザー名。
    パスワード (SQL ログイン) パスワード サーバーを作成するために使用するサーバー管理者アカウントのパスワード。
    パスワードを保存しますか? はい、いいえ 毎回パスワードを入力したくない場合は、 [はい] を選択します。
    このプロファイルの名前を入力してください プロファイル名 (mySampleProfile など) 保存されたプロファイルによって、以降のログインでは、より速く接続できるようになります。

    成功した場合、プロファイルが作成され接続されたことを示す通知が表示されます。

既存の無料プランデータベースをクエリする

新しい空のAzure SQL Database無料プランデータベースに接続した場合は、このパスを使ってください。

  1. エディタでこのクエリを実行してください:

    SELECT DB_NAME() AS current_database;
    
  2. 結果がプロビジョニングした無料データベースの名前であり、 master や他のデータベースの名前ではないことを確認してください。 もし一致しなければ、先に進む前に目的のデータベースに再接続してください。

  3. MSSQL の「最初のクエリ」クイックスタートのテーブルを作成、行を挿入、データを表示 に従ってください。 これらのステップでは、既存のデータベースで dbo.Authors を作成し、その5つのサンプル行をクエリします。 テーブルを作成し、そのデータを変更するには許可が必要です。 そのクイックスタートの一般的な「データベース作成」ステップは飛ばしてください; CREATE DATABASE Library では無料プランのデータベースはプロビジョニングされません。

  4. そのクイックスタートの「Clean up resources」の指示に従い、データベースとテーブルの所有権を確認した後、作成したサンプルテーブルだけを削除してください。 無料のデータベースを削除しないでください。

  5. 残りの許容範囲を確認し、一時停止や超過時の動作を見直しましょう。 終わったらクエリエディタとオブジェクト エクスプローラーを切断してください。 開いている接続はアイドル時の自動停止を妨げる可能性があります。切断してもすでに消費された使用量は復元されません。

同じデータベースで引き続き構築できます。 クエリが完了しても、ワークロードの互換性が確立されるわけではなく、将来の使用が無料許容範囲内に収まることも保証しません。 以下のAdventure Worksの例は、サンプル データベースの手順を別途選択し、必要なテーブルを用意している場合を除き、実行しないでください。

クエリ データ

残りのクエリ、挿入、更新、削除の例では、空の無料利用枠データベース パスではなく、Adventure Works を使用します。

次の SELECT Transact-SQL ステートメントによるクエリを実行して、カテゴリごとに上位 20 個の製品を照会します。

  1. エディター ウィンドウで、次の SQL クエリを貼り付けます。

    SELECT pc.Name AS CategoryName,
        p.name AS ProductName
    FROM [SalesLT].[ProductCategory] pc
    INNER JOIN [SalesLT].[Product] p
        ON pc.ProductCategoryId = p.ProductCategoryId;
    
  2. Ctrl + Shift + E キーを押してクエリを実行し、Product および ProductCategory テーブルからの結果を表示します。

    2 つのテーブルからデータを取得するクエリのスクリーンショット。

データの挿入

次の INSERT Transact-SQL ステートメントを実行して、SalesLT.Product テーブルに新しい製品を追加します。

  1. 前のクエリを次のクエリに置き換えます。

    INSERT INTO [SalesLT].[Product] (
        [Name],
        [ProductNumber],
        [Color],
        [ProductCategoryID],
        [StandardCost],
        [ListPrice],
        [SellStartDate]
     )
     VALUES (
        'myNewProduct',
        123456789,
        'NewColor',
        1,
        100,
        100,
        GETDATE()
     );
    
  2. Ctrl + Shift + E キーを押して、Product テーブルに新しい行を挿入します。

データの更新

次の UPDATE Transact-SQL ステートメントを実行して、追加された製品を更新します。

  1. 前のクエリを次のクエリに置き換えます。

    UPDATE [SalesLT].[Product]
    SET [ListPrice] = 125
    WHERE Name = 'myNewProduct';
    
  2. Ctrl + Shift + E キーを押して、Product テーブルの指定した行を更新します。

データの削除

次の DELETE Transact-SQL ステートメントを実行して、新しい製品を削除します。

  1. 前のクエリを次のクエリに置き換えます。

    DELETE FROM [SalesLT].[Product]
    WHERE Name = 'myNewProduct';
    
  2. Ctrl + Shift + E キーを押して、Product テーブルの指定した行を削除します。