이 빠른 시작에서는 Azure Portal, PowerShell 스크립트 또는 Azure CLI 스크립트를 사용하여 Azure SQL 데이터베이스에서 단일 데이터베이스를 만듭니다. 그런 다음, Azure Portal에서 쿼리 편집기를 사용하여 데이터베이스를 쿼리합니다.
배포 프로세스에 대한 개요는 Azure SQL 데이터베이스 필수 시리즈의 이 비디오를 시청하세요.
필수 조건
사용 권한
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: 기본 제공 역할을 참조하세요.
단일 데이터베이스 만들기
이 빠른 시작에서는 서버리스 컴퓨팅 계층에 단일 데이터베이스를 만듭니다.
Azure Portal에서 단일 데이터베이스를 만들기 위해 이 빠른 시작이 Azure SQL 페이지에서 시작됩니다.
SQL 배포 옵션 선택 페이지로 이동합니다.
SQL 데이터베이스에서 리소스 유형을 단일 데이터베이스로 설정한 상태로 두고 만들기를 선택합니다.
SQL 데이터베이스 만들기 양식의 기본 탭에 있는 프로젝트 세부 정보 아래에서 원하는 Azure 구독을 선택합니다.
리소스 그룹의 경우 새로 만들기를 선택하고, myResourceGroup을 입력하고, 확인을 선택합니다.
데이터베이스 이름에 mySampleDatabase를 입력합니다.
서버에 대해 새로 만들기를 선택하고 새 서버 양식을 다음 값으로 입력합니다.
서버 이름: mysqlserver를 입력하고 고유하게 유지하기 위한 일부 문자를 추가합니다. 서버 이름은 구독 내에서 고유한 것이 아니라 Azure의 모든 서버에 대해 전역적으로 고유해야 하므로 사용할 정확한 서버 이름을 제공할 수 없습니다. 따라서 mysqlserver12345
와 같은 항목을 입력하면 포털에서 사용 가능 여부를 알 수 있습니다.
위치: 드롭다운 목록에서 위치를 선택합니다.
인증 방법: SQL 인증 사용을 선택합니다.
서버 관리자 로그인: azureuser를 입력합니다.
암호: 요구 사항을 충족하는 암호를 입력하고, 암호 확인 필드에서 다시 입력합니다.
확인을 선택합니다.
SQL 탄력적 풀을 사용하나요? 를 아니요로 설정된 상태로 둡니다.
워크로드 환경의 경우 이 연습에 대한 개발을 지정합니다.
Azure Portal은 일부 구성 설정을 미리할 수 있는 워크로드 환경 옵션을 제공합니다. 이러한 설정은 재정의될 수 있습니다. 이 옵션은 SQL Database 만들기 포털 페이지에만 적용됩니다. 그렇지 않으면 워크로드 환경 옵션은 라이선스 또는 다른 데이터베이스 구성 설정에 영향을 주지 않습니다.
-
개발 워크로드 환경을 선택하면 다음을 비롯한 몇 가지 옵션이 설정됩니다.
-
백업 스토리지 중복 옵션은 로컬 중복 스토리지입니다. 로컬 중복 스토리지는 비용이 적게 들며, 영역 또는 지역에서 복제 스토리지의 중복이 필요하지 않은 사전 프로덕션 환경에 적합합니다.
-
컴퓨팅 + 스토리지 는 범용이며, 단일 vCore가 있는 서버리스입니다. 기본적으로 1시간 자동 일시 중지 지연이 있습니다.
-
프로덕션 워크로드 환경 집합을 선택합니다.
- 기본적으로 백업 스토리지 중복은 지역 중복 스토리지입니다.
-
컴퓨팅 + 스토리지 는 범용이며, 2개의 vCore 및 32GB의 스토리지로 프로비전됩니다. 이 작업은 다음 단계에서 추가로 수정할 수 있습니다.
컴퓨팅 + 스토리지에서 데이터베이스 구성을 선택합니다.
이 빠른 시작에서는 서버리스 데이터베이스를 사용하므로 서비스 계층을 범용(가장 예산 친화적인 서버리스 컴퓨팅)으로 설정하고 컴퓨팅 계층을 서버리스로 설정합니다.
적용을 선택합니다.
백업 스토리지 중복성에서 백업이 저장될 스토리지 계정에 대한 중복성 옵션을 선택합니다. 자세한 내용은 백업 스토리지 중복성 구성을 참조하세요.
완료되면 다음: 네트워킹을 선택합니다.
네트워킹 탭에서 연결 방법에 대해 퍼블릭 엔드포인트를 선택합니다.
방화벽 규칙의 경우 현재 클라이언트 IP 주소 추가를 예로 설정합니다.
Azure 서비스 및 리소스가 이 서버에 액세스할 수 있도록 허용을 아니요로 설정된 상태로 둡니다.
연결 정책에서 기본연결 정책을 선택하고 최소 TLS 버전을 기본값인 TLS 1.2로 둡니다.
페이지 하단에서 다음: 보안을 선택합니다.
보안 페이지에서 Microsoft Defender for SQL 무료 평가판을 선택할 수 있고, 원하는 경우 원장, 관리 ID, 고객 관리 키를 사용한 Azure SQL 투명한 데이터 암호화를 구성할 수 있습니다. 완료되면 다음: 추가 설정을 선택합니다.
추가 설정 탭의 데이터 원본 섹션에서 기존 데이터 사용에 대해 샘플을 선택합니다. 이렇게 하면 AdventureWorksLT
샘플 데이터베이스가 만들어지므로 비어 있는 빈 데이터베이스와는 달리 쿼리 및 실험을 위한 몇 가지 테이블과 데이터가 있습니다.
데이터베이스 데이터 정렬 및 유지 관리 기간을 구성할 수도 있습니다.
페이지 아래쪽에서 검토 + 만들기를 선택합니다.
검토 + 만들기 페이지에서 검토 후 만들기를 선택합니다.
이 섹션에서 Azure CLI 코드 블록은 서버에 액세스하기 위한 리소스 그룹, 서버, 단일 데이터베이스 및 서버 수준 IP 방화벽 규칙을 만듭니다. 생성된 리소스 그룹과 서버 이름을 기록하여 나중에 이러한 리소스를 관리할 수 있도록 합니다.
먼저 최신 Azure CLI를 설치합니다.
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
Azure CLI에 대한 환경 준비
Azure Cloud Shell 시작
Azure Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.
Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 사용해 보세요를 선택합니다. 또한 https://shell.azure.com 로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 시작할 수 있습니다.
Cloud Shell이 열리면 환경에 대해 Bash가 선택되어 있는지 확인합니다. 후속 세션에서는 Bash 환경에서 Azure CLI를 사용합니다.
복사를 선택하여 코드 블록을 복사하여 Cloud Shell에 붙여넣고, Enter 키를 눌러 실행합니다.
Azure에 로그인
Cloud Shell은 로그인한 초기 계정에서 자동으로 인증됩니다. 다음 스크립트를 통해 다른 구독을 사용하여 로그인하고 <Subscription ID>
를 Azure 구독 ID로 바꿉니다.
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
자세한 내용은 활성 구독 설정 또는 대화형으로 로그인을 참조하세요.
매개 변수 값 설정
다음 값은 데이터베이스와 필요한 리소스를 만드는 후속 명령에 사용됩니다. 서버 이름은 모든 Azure에서 전역적으로 고유해야 하므로 $RANDOM 함수를 사용하여 서버 이름을 만듭니다.
환경에 맞게 위치를 변경합니다.
0.0.0.0
을 특정 환경과 일치하는 IP 주소 범위로 바꿉니다. 사용 중인 컴퓨터의 공용 IP 주소를 사용하여 서버에 대한 액세스를 사용자의 IP 주소로만 제한합니다.
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="create-and-configure-database"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit access to the SQL Database server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
리소스 그룹 만들기
az group create 명령을 사용하여 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. 다음 예제에서는 eastus Azure 지역에 myResourceGroup이라는 리소스 그룹을 만듭니다.
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
서버 만들기
az sql server create 명령을 사용하여 서버를 만듭니다.
echo "Creating $server in $location..."
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
az sql server firewall-rule create 명령을 사용하여 방화벽 규칙을 만듭니다.
echo "Configuring firewall..."
az sql server firewall-rule create --resource-group $resourceGroup --server $server -n AllowYourIp --start-ip-address $startIp --end-ip-address $endIp
단일 데이터베이스 만들기
서버리스 컴퓨팅 계층에서 az sql db create 명령을 사용하여 데이터베이스를 만듭니다.
echo "Creating $database in serverless tier"
az sql db create \
--resource-group $resourceGroup \
--server $server \
--name $database \
--sample-name AdventureWorksLT \
--edition GeneralPurpose \
--compute-model Serverless \
--family Gen5 \
--capacity 2
Azure PowerShell을 사용하여 리소스 그룹, 서버 및 단일 데이터베이스를 만들 수 있습니다.
먼저 최신 Azure PowerShell을 설치합니다.
Azure Cloud Shell 시작
Azure Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.
Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 사용해 보세요를 선택합니다. 또한 https://shell.azure.com 로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 시작할 수 있습니다.
Cloud Shell이 열리면 환경에 대해 PowerShell이 선택되어 있는지 확인합니다. 후속 세션은 PowerShell 환경에서 Azure CLI를 사용합니다.
복사를 선택하여 코드 블록을 복사하여 Cloud Shell에 붙여넣고, Enter 키를 눌러 실행합니다.
매개 변수 값 설정
다음 값은 데이터베이스와 필요한 리소스를 만드는 후속 명령에 사용됩니다. 서버 이름은 모든 Azure에서 전역적으로 고유해야 하므로 Get-Random cmdlet을 사용하여 서버 이름을 만듭니다.
다음 코드 조각에서 다음을 수행합니다.
-
0.0.0.0
을 특정 환경과 일치하도록 IP 주소 범위로 바꿉니다.
-
<strong password here>
를 해당 adminLogin
에 대한 강력한 암호로 바꿉니다.
# Set variables for your server and database
$resourceGroupName = "myResourceGroup"
$location = "eastus"
$adminLogin = "azureuser"
$password = "<strong password here>"
$serverName = "mysqlserver-$(Get-Random)"
$databaseName = "mySampleDatabase"
# The ip address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Show randomized variables
Write-host "Resource group name is" $resourceGroupName
Write-host "Server name is" $serverName
리소스 그룹 만들기
New-AzResourceGroup을 사용하여 Azure 리소스 그룹을 만듭니다. 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.
Write-host "Creating resource group..."
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Tag @{Owner="SQLDB-Samples"}
$resourceGroup
서버 만들기
New-AzSqlServer cmdlet을 사용하여 서버를 만듭니다.
Write-host "Creating primary server..."
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-Location $location `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$server
방화벽 규칙을 만들기
New-AzSqlServerFirewallRule cmdlet을 사용하여 서버 방화벽 규칙을 만듭니다.
Write-host "Configuring server firewall rule..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule
PowerShell을 사용하여 단일 데이터베이스 만들기
New-AzSqlDatabase cmdlet을 사용하여 단일 데이터베이스를 만듭니다.
Write-host "Creating a gen5 2 vCore serverless database..."
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition GeneralPurpose `
-ComputeModel Serverless `
-ComputeGeneration Gen5 `
-VCore 2 `
-MinimumCapacity 2 `
-SampleName "AdventureWorksLT"
$database
데이터베이스 쿼리
데이터베이스가 생성되면 Azure Portal에서 쿼리 편집기(프리뷰)를 사용하여 데이터베이스에 연결하고 데이터를 쿼리할 수 있습니다. 자세한 내용은 Azure SQL 데이터베이스에 대한 Azure Portal 쿼리 편집기를 참조하세요.
포털에서 SQL 데이터베이스를 검색하고 선택한 다음, 목록에서 데이터베이스를 선택합니다.
데이터베이스의 페이지에서 왼쪽 메뉴에 있는 쿼리 편집기(프리뷰)를 선택합니다.
SQL 인증 서버 관리자 로그인 정보를 입력하거나 Microsoft Entra 인증을 사용합니다.
다음 쿼리를 쿼리 편집기 창에 입력합니다.
SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
FROM SalesLT.ProductCategory pc
JOIN SalesLT.Product p
ON pc.productcategoryid = p.productcategoryid;
실행을 선택한 다음, 결과 창에서 쿼리 결과를 검토합니다.
쿼리 편집기 창을 닫고, 저장하지 않은 편집 내용을 삭제하라는 메시지가 표시될 때 확인을 선택합니다.
리소스 정리
리소스 그룹, 서버 및 단일 데이터베이스를 유지하여 다음 단계로 이동하고, 다양한 방법으로 데이터베이스에 연결하고 쿼리하는 방법을 알아봅니다.
이러한 리소스의 사용을 마친 후에는 만든 리소스 그룹을 삭제할 수 있습니다. 그러면 해당 리소스 그룹 내에서 서버 및 단일 데이터베이스도 삭제됩니다.
Azure Portal을 사용하여 myResourceGroup 및 모든 해당 리소스를 삭제하려면 다음을 수행합니다.
- 포털에서 리소스 그룹을 검색하고 선택한 다음, 목록에서 myResourceGroup을 선택합니다.
- 리소스 그룹 페이지에서 리소스 그룹 삭제를 선택합니다.
-
리소스 그룹 이름 입력에 myResourceGroup을 입력한 다음, 삭제를 선택합니다.
다음 명령을 사용하여 이러한 리소스가 계속해서 필요한 경우가 아니면 az group delete 명령을 사용하여 리소스 그룹 및 연결된 모든 리소스를 제거합니다. 이러한 리소스 중 일부는 만들기 및 삭제하는 데 시간이 걸릴 수 있습니다.
az group delete --name $resourceGroup
리소스 그룹 및 모든 해당 리소스를 삭제하려면 리소스 그룹의 이름을 사용하여 다음 PowerShell cmdlet을 실행합니다.
Remove-AzResourceGroup -Name $resourceGroupName
다음 단계
클라우드 비용을 최적화하여 비용을 절감하고 싶습니까?
관련 콘텐츠