クイックスタート: Azure portal のクエリ エディター (プレビュー) を使用して、Azure SQL Database に対してクエリを実行する

適用対象: Azure SQL Database

クエリ エディター (プレビュー) は、Azure portal で Azure SQL Database に対して SQL クエリを実行するためのツールです。 このクイックスタートでは、ポータルで Azure SQL データベースに接続し、クエリ エディターを使用して Transact-SQL (T-SQL) クエリを実行します。

前提条件

  • サンプル Azure SQL データベース AdventureWorksLT。 このデータベースがない場合は、AdventureWorks サンプル データを含むデータベースを Azure SQL Database で作成することができます。

  • データベースとクエリ エディターに接続するためのアクセス許可を持つユーザー アカウント。 次のいずれかを実行できます。

    • SQL 認証を使用してデータベースに接続できるユーザーを作成または設定する。

    • データベースの SQL サーバーの Azure Active Directory (Azure AD) 管理者を設定する。

      Azure AD サーバー管理者は、単一の ID を使用して、Azure portal および SQL サーバーとデータベースにサインインできます。 Azure AD サーバー管理者を設定するには、次の手順を行います。

      1. Azure portal の Azure SQL データベースの [概要] ページで、[Essentials] の下にある [サーバー名] を選択して、お使いのデータベースのサーバーに移動します。

      2. サーバー ページで、左側のメニューの [設定] セクションにある [Azure Active Directory] を選択します。

      3. [Azure Active Directory] ページのツール バーで、[管理者の設定] を選択します。

        [管理者の設定] の選択を示すスクリーンショット。

      4. [Azure Active Directory] フォームで、管理者にするユーザーまたはグループを検索して選択し、[選択] を選択します。

      5. [Azure Active Directory] メイン ページで、[保存] を選択します。

      Note

      • outlook.com や gmail.com などのメールアドレスは、Azure AD 管理者としてサポートされていません。 ユーザーを Azure AD でネイティブに作成するか、Azure AD にフェデレーションする必要があります。
      • Azure AD 管理者サインインは、2 要素認証が有効になっているアカウントで機能しますが、クエリ エディターでは 2 要素認証はサポートされていません。

クエリ エディターに接続する

  1. Azure portalの SQL データベースの [概要] ページで、左側のメニューから [クエリ エディター (プレビュー)] を選択します。

    クエリ エディターの選択を示すスクリーンショット。

  2. サインイン画面で、資格情報を入力してデータベースに接続します。 SQL 認証または Azure AD を使用して接続できます。

    • SQL 認証を使用して接続するには、[SQL サーバー認証] で、データベースにアクセスできるユーザーの [ログイン][パスワード] を入力し、[OK] を選択します。 サーバー管理者のログインとパスワードは常に使用できます。

      SQL 認証を使用したサインインを示すスクリーンショット。

    • Azure AD を使用して接続するには、Azure AD サーバー管理者の場合、[<ユーザーまたはグループ ID> として続行] を選択します。 サインインが成功しなかった場合、ページを更新してみてください。

データベースのクエリを実行する

[クエリ エディター (プレビュー)] ページで、AdventureWorksLT サンプル データベースに対して次のクエリ例を実行します。

SELECT クエリを実行する

  1. データベース内の上位 20 の製品のクエリを実行するには、次の SELECT クエリをクエリ エディターに貼り付けます。

     SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
     FROM SalesLT.ProductCategory pc
     JOIN SalesLT.Product p
     ON pc.productcategoryid = p.productcategoryid;
    
  2. [実行] を選択し、[結果] ペインで出力を確認します。

    クエリ エディターに表示された SELECT クエリの結果を示すスクリーンショット。

  3. 必要に応じて、[クエリの保存] を選択してクエリを .sql ファイルとして保存するか、[データを .json としてエクスポート]、[データを .csvとしてエクスポート]、または [データを .xml としてエクスポート] を選択し、結果をいずれかのファイルにエクスポートします。

INSERT クエリを実行する

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

  1. クエリ エディターで、前述のクエリを次のクエリに置き換えます。

    INSERT INTO [SalesLT].[Product]
           ( [Name]
           , [ProductNumber]
           , [Color]
           , [ProductCategoryID]
           , [StandardCost]
           , [ListPrice]
           , [SellStartDate]
           )
    VALUES
           ('myNewProduct'
           ,123456789
           ,'NewColor'
           ,1
           ,100
           ,100
           ,GETDATE() );
    
  2. [実行] を選択して新しい製品を追加します。 クエリを実行した後、[メッセージ] ペインに、[クエリが成功しました: 影響を受ける行: 1] が表示されます。

UPDATE クエリを実行する

次の UPDATE T-SQL ステートメントを実行して、新しい製品の価格を更新します。

  1. クエリ エディターで、前述のクエリを次のクエリに置き換えます。

    UPDATE [SalesLT].[Product]
    SET [ListPrice] = 125
    WHERE Name = 'myNewProduct';
    
  2. [実行] を選択して、Product テーブルの指定した行を更新します。 メッセージ ペインに、 [クエリが成功しました: 影響を受ける行: 1] と表示されます。

DELETE クエリを実行する

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

  1. クエリ エディターで、前述のクエリを次のクエリに置き換えます。

    DELETE FROM [SalesLT].[Product]
    WHERE Name = 'myNewProduct';
    
  2. [実行] を選択して、Product テーブルの指定した行を削除します。 メッセージ ペインに、 [クエリが成功しました: 影響を受ける行: 1] と表示されます。

考慮事項と制限事項

クエリ エディターを使用して Azure SQL Database に接続し、クエリを実行する場合、次の考慮事項と制限事項が適用されます。

クエリ エディターの制限事項

  • クエリ エディターでは、master データベースへの接続はサポートされていません。 master データベースに接続するには、SQL Server Management Studio (SSMS)Visual Studio Code、または Azure Data Studio を使用します。
  • クエリ エディターは、ApplicationIntent=ReadOnlyレプリカ データベースに接続できません。 リッチ クライアントからこの方法で接続するには、SSMS を使用し、接続オプションの [追加の接続パラメーター] タブで ApplicationIntent=ReadOnly を指定します。 詳細については、「読み取り専用レプリカに接続する」を参照してください。
  • クエリ エディターでのクエリの実行は、5 分でタイムアウトします。 より長いクエリを実行するには、SSMSVisual Studio Code、または Azure Data Studio を使用します。
  • geography データ型に関してクエリ エディターでサポートされるのは円柱投影のみです。
  • クエリ エディターでは、データベースのテーブルとビューの IntelliSense はサポートされていませんが、既に入力されている名前のオートコンプリートはサポートされています。 IntelliSense をサポートするには、SSMSVisual Studio Code、または Azure Data Studio を使用します。
  • F5 キーを押すとクエリ エディター ページが更新され、現在エディター内にあるクエリは保存されません。

接続に関する考慮事項

  • クエリ エディターへのパブリック接続の場合、お使いのデータベースにアクセスできるようにするには、サーバーの許可されたファイアウォール規則に、アウトバウンド IP アドレスを追加する必要があります。

    サーバーにプライベート リンク接続が設定されていて、プライベート仮想ネットワーク内からサーバーに接続する場合は、SQL サーバーのファイアウォール規則に IP アドレスを追加する必要はありません。

  • ユーザーがクエリ エディターを使用するには、少なくともロールベースのアクセス制御 (RBAC) アクセス許可のサーバーとデータベースへの読み取りアクセス が必要です。 このレベルのアクセス権を持つユーザーであれば誰でも、クエリ エディターにアクセスできます。 自分を Azure AD 管理者として割り当てることができないユーザー、または SQL 管理者アカウントにアクセスできないユーザーは、クエリ エディターにアクセスできません。

接続エラーのトラブルシューティング

  • X-CSRF-Signature ヘッダーを検証できませんでしたというエラー メッセージが表示される場合は、次のように対処して問題を解決してください。

    • コンピューターの時計が正しい時刻およびタイム ゾーンに設定されていることを確認します。 データベースの場所 (米国東部など) のタイム ゾーンを検索して、コンピューターのタイム ゾーンを Azure と一致するように試みることもできます。
    • プロキシ ネットワーク上の場合、要求ヘッダー X-CSRF-Signature を変更または削除しないようにしてください。
  • クエリ エディターに次のエラーのいずれかが表示される場合があります。

    • ローカル ネットワーク設定が原因で、クエリ エディターでクエリを発行できない可能性があります。 ネットワーク設定を構成する手順については、ここをクリックしてください。
    • サーバーへの接続を確立できませんでした。 これは、ローカル ファイアウォールの構成またはネットワーク プロキシ構成に問題があることを示している可能性があります。

    これらのエラーは、クエリ エディターがポート 443 および 1443 を介して通信できないために発生します。 これらのポートでアウトバウンド HTTPS トラフィックを有効にする必要があります。 次の手順では、このプロセスを OS 別に説明します。 会社の IT 部門は、ローカル ネットワークでこの接続を開く承認を得ることが必要な場合があります。

    Windows の場合:

    1. [Windows Defender ファイアウォール] を開きます。

    2. 左側のメニューで、[詳細設定] を選択します。

    3. [セキュリティが強化された Windows Defender ファイアウォール] の左側のメニューで、[アウトバウンド規則] を選択します。

    4. 右側のメニューで [新しい規則] を選択します。

    5. [新規の送信の規則ウィザード] で、次の手順に従います。

      1. 作成する規則の種類として [ポート] を選択し、[次へ] を選択します。
      2. [TCP] を選択します。
      3. [特定のリモート ポート] を選択し、「443, 1443」と入力し、[次へ] を選択します。
      4. [セキュリティで保護されている場合、接続を許可する][次へ] の順に選択し、[次へ] を再度選択します。
      5. [ドメイン][プライベート][パブリック] は選択したままにします。
      6. 規則に名前を付けます (たとえば、Access Azure SQL query editorなど)、説明 (省略可能) を指定します。 [完了] を選択します。

    MacOS の場合:

    1. Apple メニューで、[システム環境設定] を開きます。
    2. [セキュリティ] & [プライバシー] の順に選択し、[ファイアウォール] を選択します。
    3. [ファイアウォール]がオフの場合、下部にある [変更を行うにはロックをクリックする] を選択し、[ファイアウォールを有効にする] を選択します。
    4. [Firewall Options](ファイアウォールのオプション) を選びます。
    5. [セキュリティとプライバシー] ウィンドウで、[署名されたソフトウェアが着信接続を受信するのを自動的に許可する] を選択します。

    Linux の場合:

    次のコマンドを実行して iptables を更新します

    sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --dport 1443 -j ACCEPT
    

次のステップ