次の方法で共有


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

適用対象: Azure SQL データベース Azure SQL Managed Instance

このクイックスタートでは、SQL Server Management Studio (SSMS) を使用して Azure SQL Database または Azure SQL Managed Instance に接続し、クエリを実行する方法について説明します。

前提条件

このクイックスタートを完了するには、次のアイテムが必要です。

1 このチュートリアルでは Microsoft Entra 多要素認証 (MFA) を使用します。これには、リソースに対して Microsoft Entra 管理者を構成する必要があります。 リソースに対して Microsoft Entra 認証を構成していない場合は、代わりに SQL Server 認証を使用できますが、安全性は低くなります。

重要

この記事のスクリプトは、Adventure Works データベースを使用するように記述されています。 マネージド インスタンスの場合は、Adventure Works データベースをインスタンス データベースにインポートするか、Wide World Importers データベースを使用するようにこの記事のスクリプトを修正する必要があります。

SSMS をインストールせずにアドホック クエリを Azure SQL データベースで実行する場合は、Azure portal のクエリ エディターを使って、データベースのクエリを実行します

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

自分のリソースに接続するために必要な接続情報を取得します。 このクイックスタートを完了するには、完全修飾サーバー名 (Azure SQL データベース用) またはホスト名 (Azure SQL Managed Instance 用)、データベース名、およびログイン情報が必要になります。

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

  2. クエリを実行するデータベースまたはマネージド インスタンスに移動します。

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

重要

  • Azure VM 上の SQL Server の接続情報については、「SQL Server に接続する」を参照してください
  • サーバーは、ポート 1433 でリッスンしています。 企業のファイアウォールの背後からサーバーに接続するには、そのファイアウォールでこのポートが開かれている必要があります。

データベースに接続する

SQL Server Management Studio (SSMS) でデータベースに接続します。

  1. SSMS を開きます。

  2. [サーバーに接続] ダイアログ ボックスが表示されます。 [ログイン] タブには、次の情報を入力します。

    設定 推奨値 詳細
    サーバーの種類 データベース エンジン [データベース エンジン] (通常は既定のオプションです) を選択します。
    サーバー名 完全修飾サーバー名 ご利用の Azure SQL データベース サーバ名、または Azure SQL Managed Instance のホスト名を入力します。
    認証 Microsoft Entra MFA/SQL Server 認証 このクイック スタートでは、推奨される Microsoft Entra 多要素認証を使用しますが その他の 認証オプション を使用できます。
    Login サーバー アカウントのユーザー ID サーバーを作成するために使用するサーバー アカウントのユーザー ID。 Microsoft Entra MFA を選択した場合、ログインは必要ありません。
    パスワード サーバー アカウントのパスワード サーバーを作成するために使用するサーバー アカウントのパスワード。 Microsoft Entra MFA を選択した場合、パスワードは必要ありません。
    暗号化 Strict (SQL Server 2022 とAzure SQL) SQL Server Management Studio 20 以降では、Azure SQL リソースに接続するには Strict が必要です。
    サーバー証明書を信頼する [Trust Server Certificate] サーバー証明書の検証をバイパスするには、このオプションをオンにします。 既定値は False (チェックなし) であり、信頼された証明書を使用してセキュリティを強化します。 [厳格な 暗号化] を選択すると、このオプションが既定で選択されます。
    証明書のホスト名 サーバーのホスト名 このオプションで指定された値は、サーバー証明書で予期される、異なる CN または SAN を指定するために使用されます。

    Azure SQL 用の接続ダイアログのスクリーンショット。

  3. [サーバーへの接続] ダイアログ ボックスで、[接続プロパティ] タブを選択します。

  4. [データベースへの接続] ドロップダウン メニューで、mySampleDatabase を選択します。 「前提条件」セクションのクイックスタートを完了すると、mySampleDatabase という名前の AdventureWorksLT データベースが作成されます。 AdventureWorks データベースの作業コピーの名前が mySampleDatabase と異なっている場合は、代わりにそれを選択します。

    [サーバー上のデータベースに接続] のスクリーンショット。

  5. [接続] を選択します。 オブジェクト エクスプローラー ウィンドウが開きます。

  6. データベースのオブジェクトを表示するには、 [データベース] を展開してから、自分のデータベース ノードを展開します。

    mySampleDatabase オブジェクトのスクリーンショット。

クエリ データ

次の SELECT Transact-SQL のコードを実行して、カテゴリごとに上位 20 個の製品を照会します。

  1. オブジェクト エクスプローラーで mySampleDatabase を右クリックし、 [新しいクエリ] を選択します。 データベースに接続された新しいクエリ ウィンドウが開きます。

  2. クエリ ウィンドウに、次の SQL クエリを貼り付けます。

    SELECT pc.Name AS CategoryName,
           p.name AS ProductName
    FROM [SalesLT].[ProductCategory] AS pc
         INNER JOIN
         [SalesLT].[Product] AS p
         ON pc.productcategoryid = p.productcategoryid;
    
  3. ツールバーで、 [実行] を選択してクエリを実行し、Product テーブルおよび ProductCategory テーブルからデータを取得します。

    Product と ProductCategory のテーブルからデータを取得するためのクエリのスクリーンショット。

データの挿入

次の 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. [実行] を選択して、新しい行を Product テーブルに挿入します。 メッセージ ペインに、 (1 行処理されました) と表示されます。

結果を表示する

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

    SELECT *
    FROM [SalesLT].[Product]
    WHERE Name = 'myNewProduct';
    
  2. [実行] を選択します。 次の結果が表示されます。

    Product テーブルに対するクエリ結果のスクリーンショット。

データの更新

次の UPDATE Transact-SQL コードを実行して、新しい製品を変更します。

  1. 上記のクエリを、前に作成した新しいレコードを返す次のクエリに置き換えます。

    UPDATE [SalesLT].[Product]
        SET [ListPrice] = 125
    WHERE Name = 'myNewProduct';
    
  2. [実行] を選択して、Product テーブルの指定した行を更新します。 メッセージ ペインに、 (1 行処理されました) と表示されます。

データの削除

次の DELETE Transact-SQL コードを実行して、新しい製品を削除します。

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

    DELETE [SalesLT].[Product]
    WHERE Name = 'myNewProduct';
    
  2. [実行] を選択して、Product テーブルの指定した行を削除します。 メッセージ ペインに、 (1 行処理されました) と表示されます。

認証オプション

このクイックスタートでは Microsoft Entra MFA を使用しますが、次のような他の認証オプションを使用できます。

  • デフォルト: 既定のオプションは、パスワードレスで非対話型の Microsoft Entra 認証モードを使用して接続するときに使用できます。
  • Microsoft Entra 多要素認証: 認証に対話型プロンプトを使用します。
  • Azure SQL 用の Microsoft Entra でのマネージド ID: システム割り当てマネージド ID (SMI) とユーザー割り当てマネージド ID (UMI) の 2 種類のマネージド ID がサポートされています。 マネージド ID を使用して SSMS から任意の SQL 製品に接続する場合は、SSMS を Azure VM にインストールします。 SSMS は、そのマネージド ID のトークンを要求するためのアクセス権を持つ Azure コンテキスト内にある必要があります。 SQL 製品には、そのマネージド ID のプリンシパルが必要です。 「Windows VM のシステム割り当てマネージド ID を使用して Azure SQL にアクセスする」を参照してくだい。
  • Microsoft Entra サービス プリンシパル: サービス プリンシパルを使用して、アプリケーション クライアント ID とシークレットを使用して、SSMS から SQL 製品に対する認証を行います。
  • Microsoft Entra パスワード: Microsoft Entra ユーザー名とパスワードを使用して SQL 製品に接続します。
  • Microsoft Entra 統合: 現在の Windows ユーザーの資格情報を使用して SQL 製品に接続します。
  • SQL Server 認証: SQL Server ログインとパスワードを使用して SQL 製品に接続します。 このオプションは、Microsoft Entra 認証よりも安全性が低くなります。