次の方法で共有


クイックスタート: SQL Server Management Studio (SSMS) を使用して Azure 仮想マシン上で SQL Server インスタンスに接続し、クエリを行う

適用対象: SQL Server

SQL Server Management Studio (SSMS) の使用を開始して Azure 仮想マシン上で SQL Server インスタンスに接続し、いくつかの Transact-SQL (T-SQL) コマンドを実行します。

Note

Microsoft Entra ID はAzure Active Directory (Azure AD) の新しい名前ですが、既存の環境の中断を防ぐために、UI フィールド、接続プロバイダー、エラー コード、コマンドレットなど、ハードコーディングされた一部の要素でAzure AD が残ります。 この記事では、2 つの名前は交換可能です。

  • SQL Server インスタンスに接続する
  • データベースを作成する
  • 新しいデータベースにテーブルを作成する
  • 新しいテーブルに行を挿入する
  • 新しいテーブルにクエリを行って結果を表示する
  • クエリ ウィンドウのテーブルを使用して接続のプロパティを確認する

前提条件

この記事を完了するには、SQL Server Management Studio と、データ ソースへのアクセスが必要です。

SQL 仮想マシンに接続する

次の手順では、ご使用の Azure VM の省略可能な DNS ラベルを作成し、SQL Server Management Studio と接続する方法を示します。

パブリック IP アドレスの DNS ラベルの構成

インターネットから SQL Server データベース エンジンに接続する場合は、パブリック IP アドレスの DNS ラベルを作成することを検討してください。 IP アドレスで参加することはできますが、DNS ラベルによって、識別が容易で、基になるパブリック IP アドレスを抽象化する A レコードが作成されます。

Note

同じ Virtual Network 内の SQL Server インスタンスのみに接続する場合、またはローカルでのみ接続する予定の場合は、DNS ラベルは必要ありません。

  1. DNS ラベルを作成するには、ポータルで [Virtual Machines] を選びます。 SQL Server VM を選択し、そのプロパティを表示します。

  2. 仮想マシンの概要で、目的のパブリック IP アドレスを選択します。

    パブリック IP アドレスのスクリーンショット。

  3. パブリック IP アドレスのプロパティで、 [構成]を展開します。

  4. DNS ラベル名を入力します。 この名前は、IP アドレスではなく名前で SQL Server VM に直接接続するために使用できる A レコードです。

  5. [保存] ボタンを選択します。

    DNS ラベルのスクリーンショット。

のインスタンスに接続するときには、

  1. SQL Server Management Studio を起動します。 SSMS を初めて実行すると、[サーバーへの接続] ウィンドウが開きます。 開かない場合は、 [オブジェクト エクスプローラー]>[接続]>[データベース エンジン] の順に選択して、手動で開くことができます。

    オブジェクト エクスプローラーの接続リンクのスクリーンショット

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

    設定 推奨値 説明
    サーバーの種類 データベース エンジン [サーバーの種類] に、[データベース エンジン] (通常は既定のオプションです) を選択します。
    サーバー名 完全修飾サーバー名 [サーバー名] に、SQL Server VM の名前を入力します。 SQL Server VM の IP アドレスを使用して接続することもできます。
    認証 Microsoft Entra - マネージド ID マネージド ID 認証を使用して SQL Server VM に接続します。 マネージド ID 認証を使用すると、開発者が管理する認証情報が不要になります。 SQL Server 認証は、必要な場合にのみ使用します。

    Windows 認証 は SQL Server VM ではサポートされていません。 詳細については、Azure SQL 認証に関するページを参照してください。
    Login サーバー アカウントのユーザー ID サーバーを作成するために使用するサーバー アカウントのユーザー ID。 SQL Server 認証 を使用する場合はサインインが必要です。
    パスワード サーバー アカウントのパスワード サーバーを作成するために使用するサーバー アカウントのパスワード。 SQL Server 認証を使用する場合は、パスワードが必要です。
    暗号化 1 暗号化方法 接続の暗号化レベルを選択します。 デフォルト値は必須です。
    サーバー証明書を信頼する [Trust Server Certificate] サーバー証明書の検証をバイパスするには、このオプションをオンにします。 既定値は False (チェックなし) であり、信頼された証明書を使用してセキュリティを強化します。
    証明書のホスト名 サーバーのホスト名 このオプションで指定された値は、サーバー証明書で予期される、異なる CN または SAN を指定するために使用されます。

    1 既定値は、SSMS 20 では 必須 です。 Azure SQL Database と Azure SQL Managed Instance には、 Strict (SQL Server 2022 および Azure SQL) 暗号化を使用する必要があります。 インスタンスで Force Strict Encryption が有効になっている場合は、SQL Server に Strict (SQL Server 2022 および Azure SQL) 暗号化を使用できます。

    SQL 仮想マシンの接続ダイアログを示すスクリーンショット。

  3. すべてのフィールドに入力したら、[接続] を選択します。

    [オプション] を選択して追加の接続オプションを変更することもできます。 接続オプションの例には、接続しているデータベース、接続のタイムアウト値、ネットワーク プロトコルなどがあります。 この記事では、すべてのオプションについて既定値を使用します。

  4. Azure VM 上の SQL Server が正常に完了したことを確認するには、オブジェクト エクスプローラー内のオブジェクトを展開して探索します。ここには、サーバー名、SQL Server バージョン、およびユーザー名が表示されます。 これらのオブジェクトは、サーバーの種類によって異なります。

    Azure SQL サーバーの接続のスクリーンショット。

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

ポータルには接続を自動的に構成するオプションが用意されていますが、接続を手動構成する方法も知っておくと便利です。 要件を把握しておくと、トラブルシューティングにも役立ちます。

Azure VM 上の SQL Server に接続するための要件を次の表に示します。

要件 説明
SQL Server 認証モードを有効にする 仮想ネットワーク上に Active Directory を構成していない限り、VM にリモートで接続するには SQL Server 認証が必要です。
ログインの作成 SQL 認証を使用する場合、実際のターゲット データベースへのアクセス許可も持つ、ユーザー名とパスワードによる SQL ログインが必要です。
TCP/IP プロトコルを有効にする SQL Server では、TCP 経由の接続を許可する必要があります。
データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する VM 上のファイアウォールでは、SQL Server ポート (既定では 1433) の受信トラフィックを許可する必要があります。
TCP 1433 のネットワーク セキュリティ グループの規則を作成する インターネット経由で接続する場合は、VM が SQL Server ポート (既定では 1433) でトラフィックを受信できるようにします。 これは、ローカルと仮想ネットワーク専用の接続では不要です。 この手順は Azure portal でのみ必要です。

ヒント

ポータル内で接続を構成すると、上記の表の手順が自動的に実行されます。 これらの手順を使用するのは、ご自分の構成を確認する場合または SQL Server の接続を手動で設定する場合だけです。

データベースを作成する

以下の手順に従って、TutorialDB という名前のデータベースを作成します。

  1. オブジェクト エクスプローラーでサーバー インスタンスを右クリックして、[新しいクエリ] を選択します。

    新しいクエリ リンクのスクリーンショット

  2. クエリ ウィンドウに次の T-SQL コード スニペットを貼り付けます。

    IF NOT EXISTS (
        SELECT name
        FROM sys.databases
        WHERE name = N'TutorialDB'
    )
    CREATE DATABASE [TutorialDB];
    GO
    
    ALTER DATABASE [TutorialDB] SET QUERY_STORE = ON;
    GO
    
  3. [実行] を選択するか、お使いのキーボードの F5 キーを選択し、クエリを実行します。

    実行コマンドのスクリーンショット

    クエリが完了すると、オブジェクト エクスプローラーのデータベースの一覧に新しい TutorialDB データベースが表示されます。 表示されない場合は、[データベース] ノードを右クリックして [更新] を選択します。

新しいデータベースにテーブルを作成する

このセクションでは、新しく作成した TutorialDB データベースにテーブルを作成します。 クエリ エディターがまだmaster データベースのコンテキストにあるため、次の手順で接続コンテキストを TutorialDB データベースに切り替えます。

  1. 次に示すように、[データベース] ドロップダウン リストで、目的のデータベースを選択します。

    変更データベースのスクリーンショット。

  2. クエリ ウィンドウに次の T-SQL コード スニペットを貼り付けます。

    USE [TutorialDB]
    GO
    
    -- Create a new table called 'Customers' in schema 'dbo'
    -- Drop the table if it already exists
    IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL
        DROP TABLE dbo.Customers
    GO
    
    -- Create the table in the specified schema
    CREATE TABLE dbo.Customers (
        CustomerId INT NOT NULL PRIMARY KEY, -- primary key column
        Name NVARCHAR(50) NOT NULL,
        Location NVARCHAR(50) NOT NULL,
        Email NVARCHAR(50) NOT NULL
    );
    GO
    
  3. [実行] を選択するか、お使いのキーボードの F5 キーを選択し、クエリを実行します。

クエリが完了すると、オブジェクト エクスプローラーのテーブルの一覧に新しい Customers テーブルが表示されます。 テーブルが表示されない場合は、オブジェクト エクスプローラーで [TutorialDB]>[テーブル] ノードを右クリックした後、[更新] を選択します。

新しいテーブルのスクリーンショット。

新しいテーブルに行を挿入する

ここでは、作成した Customers テーブルにいくつかの行を挿入します。 クエリ ウィンドウに次の T-SQL コード スニペットを貼り付けて、[実行] を選択します。

-- Insert rows into table 'Customers'
INSERT INTO dbo.Customers (
    CustomerId,
    Name,
    Location,
    Email
)
VALUES
    (1, N'Orlando', N'Australia', N''),
    (2, N'Keith', N'India', N'keith0@adventure-works.com'),
    (3, N'Donna', N'Germany', N'donna0@adventure-works.com'),
    (4, N'Janet', N'United States', N'janet1@adventure-works.com')
GO

テーブルのクエリを行って結果を表示する

クエリの結果は、クエリ テキスト ウィンドウの下に表示されます。 Customers テーブルに対しクエリを実行し、挿入された行を表示するには、次の手順に従います。

  1. クエリ ウィンドウに次の T-SQL コード スニペットを貼り付けて、[実行] を選択します。

    -- Select rows from table 'Customers'
    SELECT * FROM dbo.Customers;
    

    クエリの結果は、テキストを入力した領域の下に表示されます。

    結果リストのスクリーンショット。

    以下のオプションのいずれかを選択して、結果の表示方法を変更することもできます。

    クエリの結果を表示するための 3 つのオプションのスクリーンショット。

    • 1 番目のボタンを選ぶと、結果はテキスト ビューで表示されます。次のセクションの図はこの表示方法です。
    • 中央のボタンを選ぶと、結果はグリッド ビューで表示されます。これが、既定のオプションです。
    • 3 番目のボタンでは、結果がファイルに保存されます。ファイルの既定の拡張子は .rpt です。

クエリ ウィンドウのテーブルを使用して接続のプロパティを確認する

接続プロパティに関する情報は、クエリの結果の下で確認できます。 前の手順で示したクエリを実行した後、クエリ ウィンドウの下端にある接続のプロパティを確認します。

  • 接続先のサーバーとデータベース、ユーザー名がわかります。

  • クエリの実行時間と、前に実行したクエリが返した行数も確認できます。

    接続プロパティのスクリーンショット。

その他のツール

Azure Data Studio を使用して、SQL ServerAzure SQL Database、および Azure Synapse Analytics に接続し、クエリを実行することもできます。