クイック スタート:ARM テンプレートを使用して Azure SQL Database で単一データベースを作成する

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

単一データベースの作成は、Azure SQL Database でデータベースを作成する場合の最も迅速かつ簡単なオプションです。 このクイックスタートでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して単一データベースを作成する方法について説明します。

ARM テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 宣言型の構文では、デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。

環境が前提条件を満たしていて、ARM テンプレートの使用に慣れている場合は、 [Azure へのデプロイ] ボタンを選択します。 Azure portal でテンプレートが開きます。

Azure へのデプロイ

前提条件

Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。

アクセス許可

Transact-SQL を使用してデータベースを作成するには: CREATE DATABASE アクセス許可が必要です。 データベースを作成するには、ログインがサーバー管理者のログイン (Azure SQL Database 論理サーバーのプロビジョニング時に作成されたもの)、サーバーの Microsoft Entra 管理者、master の dbmanager データベース ロールのメンバーのいずれかである必要があります。 詳細については、[CREATE DATABASE](/sql/t-sql/statements/create-database-sql-server-transact-sql) に関する記事をご覧ください。

Azure portal、PowerShell、Azure CLI、または REST API を使用したデータベースの作成方法: Azure RBAC のアクセス許可 (特に共同作成者、SQL DB 共同作成者ロール、または SQL Server 共同作成者 Azure RBAC ロール) が必要です。 詳細については、Azure RBAC: 組み込みのロールに関するページをご覧ください。

テンプレートを確認する

単一データベースには、2 種類の購入モデルのいずれかを使用して定義されたコンピューティング、メモリ、IO、ストレージのリソースのセットがあります。 単一データベースを作成するときは、それを管理するためのサーバーも定義し、指定したリージョンの Azure リソース グループ内にそれを配置します。

このクイックスタートで使用されるテンプレートは Azure クイックスタート テンプレートからのものです。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.12.40.16777",
      "templateHash": "16856611863128783179"
    }
  },
  "parameters": {
    "serverName": {
      "type": "string",
      "defaultValue": "[uniqueString('sql', resourceGroup().id)]",
      "metadata": {
        "description": "The name of the SQL logical server."
      }
    },
    "sqlDBName": {
      "type": "string",
      "defaultValue": "SampleDB",
      "metadata": {
        "description": "The name of the SQL Database."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "administratorLogin": {
      "type": "string",
      "metadata": {
        "description": "The administrator username of the SQL logical server."
      }
    },
    "administratorLoginPassword": {
      "type": "secureString",
      "metadata": {
        "description": "The administrator password of the SQL logical server."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "2022-05-01-preview",
      "name": "[parameters('serverName')]",
      "location": "[parameters('location')]",
      "properties": {
        "administratorLogin": "[parameters('administratorLogin')]",
        "administratorLoginPassword": "[parameters('administratorLoginPassword')]"
      }
    },
    {
      "type": "Microsoft.Sql/servers/databases",
      "apiVersion": "2022-05-01-preview",
      "name": "[format('{0}/{1}', parameters('serverName'), parameters('sqlDBName'))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard",
        "tier": "Standard"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('serverName'))]"
      ]
    }
  ]
}

テンプレートでは、次のリソースが定義されています。

その他の Azure SQL Database テンプレートのサンプルは、Azure クイックスタート テンプレートのページから入手できます。

テンプレートのデプロイ

次の PowerShell コード ブロックから [使ってみる] を選択して Azure Cloud Shell を開きます。

$projectName = Read-Host -Prompt "Enter a project name that is used for generating resource names"
$location = Read-Host -Prompt "Enter an Azure location (i.e. centralus)"
$adminUser = Read-Host -Prompt "Enter the SQL server administrator username"
$adminPassword = Read-Host -Prompt "Enter the SQL Server administrator password" -AsSecureString

$resourceGroupName = "${projectName}rg"

New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.sql/sql-database/azuredeploy.json" -administratorLogin $adminUser -administratorLoginPassword $adminPassword

Read-Host -Prompt "Press [ENTER] to continue ..."

デプロイの検証

データベースに対してクエリを実行するには、「データベースのクエリを実行する」を参照してください。

リソースをクリーンアップする

クリーンアップするには、このリソース グループ、サーバー、単一データベースをそのままにしてください。 さまざまなメソッドを使用してデータベースに接続してクエリを実行できるようになりました。

  1. オンプレミスまたはリモート ツールから単一データベースに接続するために、サーバー レベルのファイアウォール規則を作成します。 詳細については、「サーバーレベルのファイアウォール規則を作成する」を参照してください。
  2. サーバーレベルのファイアウォール規則を作成した後に、いくつかの異なるツールと言語を使用して、データベースに接続し、クエリを実行します。

リソース グループを削除する場合:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName