SSMS から Cloud SQL for SQL Server に接続する

このページでは、SQL Server インスタンスを作成して接続し、Google Cloud Console とクライアントを使用して基本的な SQL オペレーションを実行する方法を説明します。このクイックスタートで作成されるリソースにかかる費用は、クリーンアップを含む手順を適切なタイミングで完了した場合、通常 1 ドル未満です。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 必要な Google Cloud APIs を有効にします。

    コンソール

    Google Cloud コンソールの [API] ページに移動します。

    [API] に移動

    Cloud SQL Admin API を有効にします。

    gcloud

    次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用して、このクイックスタートで紹介する gcloud コマンドを実行できます。

    Cloud Shell を開く

    Cloud Shell を使用して、次のように gcloud services enable コマンドを実行し、このクイックスタートに必要な API を有効にします。

    gcloud services enable sqladmin.googleapis.com

    このコマンドにより、次の API が有効になります。

    • Cloud SQL Admin API

Cloud SQL インスタンスを作成する

このクイックスタートでは、Google Cloud コンソールを使用します。gcloud CLI、cURL、PowerShell を使用するには、インスタンスの作成をご覧ください。

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. [インスタンスを作成] をクリックします。
  3. [SQL Server を選択] をクリックします。
  4. [インスタンス ID] に「myinstance」と入力します。
  5. sqlserver ユーザーのパスワードを入力します。
  6. [作成] をクリックします。

    インスタンスのリストに戻ります。新しいインスタンスをすぐにクリックして詳細を表示できますが、初期化と起動が完了するまで他のオペレーションには使用できません。

SQL Server Management Studio を使用してインスタンスに接続する

  1. オプション: SQL Server のローカル インスタンスを実行している場合は、そのインスタンスを停止した後、Cloud SQL インスタンスに接続します。そうしない場合、address already in use などのエラーが発生する可能性があります。
  2. gcloud CLI をインストールします。gcloud CLI には、Cloud SQL や他の Google Cloud サービスを操作するための gcloud CLI が用意されています。gcloud CLI は Admin API を使用して Cloud SQL にアクセスするため、gcloud CLI を使用して Cloud SQL にアクセスする前に、Admin API を有効にする必要があります。
  3. bash シェルのコマンド プロンプトまたは Windows PowerShell で、次のコマンドを実行して gcloud CLI を起動します。
      gcloud init
      
  4. 次のコマンドを実行して gcloud CLI を認証します。
      gcloud auth login
      
  5. Cloud SQL Auth Proxy をダウンロードしてインストールします(Cloud SQL Auth Proxy のインストールをご覧ください)。次の手順で Cloud SQL Auth Proxy を実行するため、Cloud SQL Auth Proxy の場所をメモします。
  6. bash シェルのコマンド プロンプト(または Windows PowerShell)を使用して Cloud SQL Auth Proxy を実行します。具体的には、次のコマンドを実行します。Instance-connection-name は、Google Cloud コンソールの [概要] タブ(該当するインスタンス)の対応する値に置き換えます。
      ./cloud-sql-proxy INSTANCE_CONNECTION_NAME
      

Cloud SQL Auth Proxy のインストールと使用の詳細については、Cloud SQL Auth Proxy についてをご覧ください。

次のセクションで説明するように、SSMS とローカルホストの IP アドレスを使用して SQL Server インスタンスに接続できるようになりました。

SSMS Object Explorer を使用して接続する

  1. SSMS で、[ファイル] メニューから [オブジェクト エクスプローラを接続] を選択します。

    オブジェクト エクスプローラの選択

  2. [サーバーへの接続] ダイアログに次の値を入力します。

    1. [サーバーの種類] に「データベース エンジン」と入力します。
    2. [サーバー名] には、SQL Server インスタンスの IP アドレスとして「127.0.0.1」と入力します。
    3. [認証] に「SQL Server 認証」と入力します。
    4. [ログイン] に「sqlserver」と入力します。
    5. [パスワード] に、インスタンスの作成時に使用したパスワードを入力します。
  3. [接続] ボタンをクリックします。

データベースの作成とデータのアップロード

  1. SSMS Object Explorer ウィンドウで、インスタンスの下の [データベース] ノードを右クリックし、[新しいデータベース] を選択します。

    新しいデータベースの選択

  2. [データベース名] に「testdb」と入力し、[OK] ボタンをクリックします。

    ダイアログに「testdb」のデータベース名を入力する

  3. 新しく作成した testdb データベースで、[テーブル] ノードを右クリックして [新規作成] > [テーブル] を選択します。

    新しいテーブルを選択する

  4. 次の値を [テーブルの作成] ダイアログに入力します。

    1. [プロパティ] ウィンドウで [ID > 名前] に「guestbook」と入力します。
    2. 最初の [列の名前] に「entryID」と入力し、データの種類を [int] に設定して、[Null を許可] チェックボックスをオフにします。
      1. [列のプロパティ] ウィンドウで [ID の指定] を展開し、[(ID)] を [はい] に設定します。
    3. 2 つ目の [列の名前] に「guestname」と入力し、データの種類を [varchar(255)] に設定します。
    4. 3 つ目の [列の名前] に「content」と入力し、データの種類を [varchar(255)] に設定します。

    テーブルの値を入力する

  5. [ファイル] メニューをクリックし、[ゲストブックを保存] を選択します。

    ゲストブックのテーブルの保存

  6. [データベース] の [testdb] テーブルを右クリックし、[新規クエリ] を選択します。

    [testdb] で [新規クエリ] を選択します。

  7. [SQL クエリ] テキスト ウィンドウに次の 2 つの INSERT ステートメントを入力し、[実行] ボタンをクリックします。

    INSERT INTO guestbook (guestName, content) values ('first guest', 'I got here!');
    
    INSERT INTO guestbook (guestName, content) values ('second guest', 'Me too!');
    

    例: Insert ステートメントを 2 つ入力する

  8. [オブジェクト エクスプローラ] ウィンドウの [データベース > testdb] 項目で [テーブル] 項目を展開します。[dbo.guestbook] のテーブルを右クリックし、[最上位 1,000 行を選択] を選択します。

    上位の行を選択する

挿入した 2 つのレコードと、レコードをクエリするために使用した SQL の SELECT レコードが、[結果] として表示されます。

クエリの結果を表示する

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. myinstance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. インスタンスの削除ウィンドウでインスタンスの名前を入力し、[削除] をクリックします。

省略可能なクリーンアップ手順

このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。

  • このクイックスタートで有効にした API:
    • Cloud SQL Admin API
  1. Google Cloud コンソールの [API] ページに移動します。

    [API] に移動

  2. Cloud SQL Admin API を選択し、[API を無効にする] ボタンをクリックします。

次のステップ