다음을 통해 공유


빠른 시작: ARM 템플릿을 사용하여 Azure SQL 데이터베이스에서 단일 데이터베이스 만들기

적용 대상: Azure SQL 데이터베이스

단일 데이터베이스 만들기는 Azure SQL 데이터베이스의 데이터베이스 만들기에 대한 가장 빠르고 간단한 옵션입니다. 이 빠른 시작에서는 ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 단일 데이터베이스를 만드는 방법을 보여줍니다.

ARM 템플릿은 프로젝트에 대한 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 선언적 구문에서는 배포를 만들기 위한 프로그래밍 명령의 시퀀스를 작성하지 않고 의도하는 배포를 설명합니다.

환경이 필수 조건을 충족하고 ARM 템플릿 사용에 익숙한 경우 Azure에 배포 단추를 선택합니다. 그러면 Azure Portal에서 템플릿이 열립니다.

Azure에 배포

필수 조건

Azure를 구독하고 있지 않다면 체험 계정을 만드세요.

사용 권한

Transact-SQLCREATE DATABASE을 통해 데이터베이스를 만들려면 권한이 필요합니다. 데이터베이스를 만들려면 로그인은 서버 관리자 로그인(Azure SQL 데이터베이스 논리 서버가 프로비저닝될 때 생성됨), 서버의 Microsoft Entra 관리자, master에서 dbmanager 데이터베이스 역할의 구성원이어야 합니다. 자세한 내용은 CREATE DATABASE를 참조하세요.

Azure Portal, PowerShell, Azure CLI 또는 REST API를 통해 데이터베이스를 만들려면: Azure RBAC 권한, 특히 기여자, SQL DB 기여자 또는 SQL Server 기여자 Azure RBAC 역할이 필요합니다. 자세한 내용은 Azure RBAC: 기본 제공 역할을 참조하세요.

템플릿 검토

단일 데이터베이스는 두 구매 모델 중 하나를 사용하여 컴퓨팅, 메모리, 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 데이터베이스 템플릿 샘플은 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