クイック スタート:ARM テンプレートを使用して Azure SQL Database で単一データベースを作成する
適用対象: Azure SQL データベース
単一データベースの作成は、Azure SQL Database でデータベースを作成する場合の最も迅速かつ簡単なオプションです。 このクイックスタートでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して単一データベースを作成する方法について説明します。
ARM テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 宣言型の構文では、デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。
環境が前提条件を満たしていて、ARM テンプレートの使用に慣れている場合は、 [Azure へのデプロイ] ボタンを選択します。 Azure portal でテンプレートが開きます。
前提条件
Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
アクセス許可
Transact-SQL を使用してデータベースを作成するには: CREATE DATABASE
アクセス許可が必要です。 データベースを作成するには、ログインがサーバー管理者のログイン (Azure SQL Database 論理サーバーのプロビジョニング時に作成されたもの)、サーバーの Microsoft Entra 管理者、master
の dbmanager データベース ロールのメンバーのいずれかである必要があります。 詳細については、
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 ..."
デプロイの検証
データベースに対してクエリを実行するには、「データベースのクエリを実行する」を参照してください。
リソースをクリーンアップする
クリーンアップするには、このリソース グループ、サーバー、単一データベースをそのままにしてください。 さまざまなメソッドを使用してデータベースに接続してクエリを実行できるようになりました。
- オンプレミスまたはリモート ツールから単一データベースに接続するために、サーバー レベルのファイアウォール規則を作成します。 詳細については、「サーバーレベルのファイアウォール規則を作成する」を参照してください。
- サーバーレベルのファイアウォール規則を作成した後に、いくつかの異なるツールと言語を使用して、データベースに接続し、クエリを実行します。
リソース グループを削除する場合:
$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
関連するコンテンツ
- Azure CLI を使用して単一データベースを作成するには、「Azure CLI のサンプル」をご覧ください。
- Azure PowerShell を使用して単一データベースを作成するには、「Azure PowerShell サンプル」をご覧ください。
- ARM テンプレートを作成する方法については、初めてのテンプレートの作成に関するページをご覧ください。