자습서: Azure Resource Manager 템플릿을 사용하여 SQL BACPAC 파일 가져오기Tutorial: Import SQL BACPAC files with Azure Resource Manager templates

Azure SQL Database 확장을 사용하여 Azure Resource Manager 템플릿을 통해 BACPAC 파일을 가져오는 방법에 대해 알아봅니다.Learn how to use Azure SQL Database extensions to import a BACPAC file with Azure Resource Manager templates. 배포 아티팩트는 배포를 완료하는 데 필요한 기본 템플릿 파일 이외의 모든 파일입니다.Deployment artifacts are any files, in addition to the main template file that are needed to complete a deployment. BACPAC 파일은 아티팩트입니다.The BACPAC file is an artifact. 이 자습서에서는 Azure SQL Server, SQL Database를 배포하는 템플릿을 만들고 BACPAC 파일을 가져옵니다.In this tutorial, you create a template to deploy an Azure SQL Server, a SQL Database, and import a BACPAC file. Azure Resource Manager 템플릿을 사용하여 Azure 가상 머신 확장을 배포하는 방법에 대한 자세한 내용은 # 자습서: Azure Resource Manager 템플릿을 사용하여 가상 머신 확장 배포를 참조하세요.For information about deploying Azure virtual machine extensions using Azure Resource Manager templates, see # Tutorial: Deploy virtual machine extensions with Azure Resource Manager templates.

이 자습서에서 다루는 작업은 다음과 같습니다.This tutorial covers the following tasks:

  • BACPAC 파일 준비Prepare a BACPAC file
  • 빠른 시작 템플릿 열기Open a Quickstart template
  • 템플릿 편집Edit the template
  • 템플릿 배포Deploy the template
  • 배포 확인Verify the deployment

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

필수 조건Prerequisites

이 문서를 완료하려면 다음이 필요합니다.To complete this article, you need:

BACPAC 파일 준비Prepare a BACPAC file

BACPAC 파일은 공개적으로 액세스 가능한 Azure Storage 계정에서 공유됩니다.A BACPAC file is shared on an Azure Storage account with the public access. 사용자 고유의 파일을 만들려면 Azure SQL 데이터베이스를 BACPAC 파일로 내보내기를 참조하세요.To create your own, see Export an Azure SQL database to a BACPAC file. 사용자 고유의 위치에 파일을 게시하기로 선택하는 경우 자습서의 뒷부분에서 템플릿을 업데이트해야 합니다.If you choose to publish the file to your own location, you must update the template later in the tutorial.

빠른 시작 템플릿 열기Open a Quickstart template

이 자습서에서 사용된 템플릿은 Azure Storage 계정에 저장됩니다.The template used in this tutorial is stored in an Azure Storage account.

  1. Visual Studio Code에서 파일>파일 열기를 차례로 선택합니다.From Visual Studio Code, select File>Open File.

  2. 파일 이름에서 다음 URL을 붙여넣습니다.In File name, paste the following URL:

    https://armtutorials.blob.core.windows.net/createsql/azuredeploy.json
    
  3. 열기를 선택하여 파일을 엽니다.Select Open to open the file.

    템플릿에 3개 리소스가 정의되어 있습니다.There are three resources defined in the template:

    • Microsoft.Sql/servers.Microsoft.Sql/servers. 템플릿 참조를 참조하세요.See the template reference.

    • Microsoft.SQL/servers/securityAlertPolicies.Microsoft.SQL/servers/securityAlertPolicies. 템플릿 참조를 참조하세요.See the template reference.

    • Microsoft.SQL.servers/databases.Microsoft.SQL.servers/databases. 템플릿 참조를 참조하세요.See the template reference.

      템플릿을 사용자 지정하기 전에 템플릿의 몇 가지 기본적인 내용을 이해하면 유용합니다.It is helpful to get some basic understanding of the template before customizing it.

  4. 파일>다른 이름으로 저장을 선택하여 파일 복사본을 로컬 컴퓨터에 azuredeploy.json이라는 이름으로 저장합니다.Select File>Save As to save a copy of the file to your local computer with the name azuredeploy.json.

템플릿 편집Edit the template

두 개의 추가 리소스를 템플릿에 추가합니다.Add two additional resources to the template.

  • SQL 데이터베이스 확장이 BACPAC 파일을 가져올 수 있도록 Azure 서비스에 대한 액세스를 허용해야 합니다.To allow the SQL database extension to import BACPAC files, you need to allow access to Azure services. SQL 서버 정의에 다음 JSON을 추가합니다.Add the following JSON to the SQL server definition:

    {
        "type": "firewallrules",
        "name": "AllowAllAzureIps",
        "location": "[parameters('location')]",
        "apiVersion": "2015-05-01-preview",
        "dependsOn": [
            "[variables('databaseServerName')]"
        ],
        "properties": {
            "startIpAddress": "0.0.0.0",
            "endIpAddress": "0.0.0.0"
        }
    }
    

    템플릿은 다음과 비슷합니다.The template shall look like:

    Azure Resource Manager가 sql 확장 BACPAC 배포

  • 다음 JSON을 사용하여 데이터베이스 정의에 SQL Database 확장 리소스를 추가합니다.Add a SQL Database extension resource to the database definition with the following JSON:

    "resources": [
        {
            "name": "Import",
            "type": "extensions",
            "apiVersion": "2014-04-01",
            "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('databaseServerName'), variables('databaseName'))]"
            ],
            "properties": {
                "storageKeyType": "SharedAccessKey",
                "storageKey": "?",
                "storageUri": "https://armtutorials.blob.core.windows.net/sqlextensionbacpac/SQLDatabaseExtension.bacpac",
                "administratorLogin": "[variables('databaseServerAdminLogin')]",
                "administratorLoginPassword": "[variables('databaseServerAdminLoginPassword')]",
                "operationMode": "Import",
            }
        }
    ]
    

    템플릿은 다음과 비슷합니다.The template shall look like:

    Azure Resource Manager가 sql 확장 BACPAC 배포

    리소스 정의를 이해하려면 SQL Database 확장 참조를 확인하세요.To understand the resource definition, see the SQL Database extension reference. 다음은 중요한 요소입니다.The following are some important elements:

    • dependsOn: SQL 데이터베이스가 만들어지면 확장 리소스를 만들어야 합니다.dependsOn: The extension resource must be created after the SQL database has been created.
    • storageKeyType: 사용할 스토리지 키의 유형입니다.storageKeyType: The type of the storage key to use. 값은 StorageAccessKey 또는 SharedAccessKey입니다.The value can be either StorageAccessKey or SharedAccessKey. 제공된 BACPAC 파일은 공개적으로 액세스 가능한 Azure Storage 계정에서 공유되므로 여기서는 'SharedAccessKey'가 사용됩니다.Because the provided BACPAC file is shared on an Azure Storage account with public access, `SharedAccessKey' is used here.
    • storageKey: 사용할 스토리지 키입니다.storageKey: The storage key to use. 저장소 키 형식이 SharedAccessKey이면 앞에 "?"가 있어야 합니다.If storage key type is SharedAccessKey, it must be preceded with a "?."
    • storageUri: 사용할 스토리지 URI입니다.storageUri: The storage uri to use. 제공된 BACPAC 파일을 사용하지 않기로 선택하는 경우 값을 업데이트해야 합니다.If you choose not to use the BACPAC file provided, you need to update the values.
    • administratorLoginPassword: SQL 관리자의 암호입니다.administratorLoginPassword: The password of the SQL administrator. 생성된 암호를 사용합니다.Use a generated password. 필수 조건을 참조하세요.See Prerequisites.

템플릿 배포Deploy the template

참고

이 문서는 새 Azure PowerShell Az 모듈을 사용하도록 업데이트되었습니다.This article has been updated to use the new Azure PowerShell Az module. AzureRM 모듈은 적어도 2020년 12월까지 버그 수정을 수신할 예정이므로 계속 사용하셔도 됩니다.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. 새 Az 모듈 및 AzureRM 호환성에 대한 자세한 내용은 새 Azure PowerShell Az 모듈 소개를 참조하세요.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az 모듈 설치 지침은 Azure PowerShell 설치를 참조하세요.For Az module installation instructions, see Install Azure PowerShell.

배포 절차는 템플릿 배포 섹션을 참조하세요.Refer to the Deploy the template section for the deployment procedure. 다음 PowerShell 배포 스크립트를 대신 사용합니다.Use the following PowerShell deployment script instead:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
$location = Read-Host -Prompt "Enter the location (i.e. centralus)"
$adminUsername = Read-Host -Prompt "Enter the SQL admin username"
$adminPassword = Read-Host -Prompt "Enter the admin password" -AsSecureString

New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -adminUser $adminUsername `
    -adminPassword $adminPassword `
    -TemplateFile "$HOME/azuredeploy.json"

생성된 암호를 사용합니다.Use a generated password. 필수 조건을 참조하세요.See Prerequisites.

배포 확인Verify the deployment

포털에서 새로 배포된 리소스 그룹의 SQL 데이터베이스를 선택합니다.In the portal, select the SQL database from the newly deployed resource group. 쿼리 편집기(미리 보기) 를 선택한 다음, 관리자 자격 증명을 입력합니다.Select Query editor (preview), and then enter the administrator credentials. 두 테이블을 데이터베이스로 가져온 것을 볼 수 있습니다.You shall see two tables imported into the database:

Azure Resource Manager가 sql 확장 BACPAC 배포

리소스 정리Clean up resources

Azure 리소스가 더 이상 필요하지 않은 경우 리소스 그룹을 삭제하여 배포한 리소스를 정리합니다.When the Azure resources are no longer needed, clean up the resources you deployed by deleting the resource group.

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택합니다.From the Azure portal, select Resource group from the left menu.
  2. 이름으로 필터링 필드에서 리소스 그룹 이름을 입력합니다.Enter the resource group name in the Filter by name field.
  3. 해당 리소스 그룹 이름을 선택합니다.Select the resource group name. 리소스 그룹에 총 6개의 리소스가 표시됩니다.You shall see a total of six resources in the resource group.
  4. 위쪽 메뉴에서 리소스 그룹 삭제를 선택합니다.Select Delete resource group from the top menu.

다음 단계Next steps

이 자습서에서는 SQL Server, SQL Database를 배포하고 BACPAC 파일을 가져왔습니다.In this tutorial, you deployed a SQL Server, a SQL Database, and imported a BACPAC file. BACPAC 파일은 Azure 스토리지 계정에 저장됩니다.The BACPAC file is stored in an Azure storage account. URL이 있는 사용자는 누구나 파일에 액세스할 수 있습니다.Anybody with the URL can access the file. BACPAC 파일(아티팩트)을 보호하는 방법에 대한 자세한 내용은 다음을 참조하세요.To learn how to secure the BACPAC file (artifact), see