Guia de início rápido: criar um pool SQL dedicado do Azure Synapse Analytics (anteriormente SQL DW) usando um modelo ARM

Tip

Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial baseado numa base de data lake, com uma arquitetura pronta para o futuro, IA incorporada e novas funcionalidades. Se és novo no data warehousing, começa pelo Fabric Data Warehouse. As cargas de trabalho existentes de pool SQL dedicado podem atualizar para o Fabric para acessar novas capacidades em ciência de dados, análise em tempo real e relatórios.

Este modelo do Azure Resource Manager (modelo ARM) criará um pool SQL dedicado (anteriormente SQL DW) com a Criptografia de Dados Transparente habilitada. Pool SQL dedicado (anteriormente SQL DW) refere-se aos recursos de armazenamento de dados corporativos que geralmente estão disponíveis no Azure Synapse.

Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo usa sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Se o seu ambiente cumpre os pré-requisitos e se está familiarizado com a utilização de modelos ARM, selecione o botão Implementar no Azure. O modelo será aberto no portal do Azure.

Botão para implantar o modelo do Gerenciador de Recursos no Azure.

Prerequisites

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Rever o modelo

O modelo utilizado neste início rápido pertence aos Modelos de Início Rápido do Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.26.54.24096",
      "templateHash": "15855786620646717380"
    }
  },
  "parameters": {
    "sqlServerName": {
      "type": "string",
      "defaultValue": "[format('sql{0}', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "The SQL Logical Server name."
      }
    },
    "sqlAdministratorLogin": {
      "type": "string",
      "metadata": {
        "description": "The administrator username of the SQL Server."
      }
    },
    "sqlAdministratorPassword": {
      "type": "securestring",
      "metadata": {
        "description": "The administrator password of the SQL Server."
      }
    },
    "databasesName": {
      "type": "string",
      "metadata": {
        "description": "The name of the Database."
      }
    },
    "transparentDataEncryption": {
      "type": "string",
      "defaultValue": "Enabled",
      "allowedValues": [
        "Enabled",
        "Disabled"
      ],
      "metadata": {
        "description": "Enable/Disable Transparent Data Encryption"
      }
    },
    "capacity": {
      "type": "int",
      "minValue": 900,
      "maxValue": 54000,
      "metadata": {
        "description": "DW Performance Level expressed in DTU (i.e. 900 DTU = DW100c)"
      }
    },
    "databaseCollation": {
      "type": "string",
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS",
      "metadata": {
        "description": "The SQL Database collation."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Resource location"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "2023-08-01-preview",
      "name": "[parameters('sqlServerName')]",
      "location": "[parameters('location')]",
      "properties": {
        "administratorLogin": "[parameters('sqlAdministratorLogin')]",
        "administratorLoginPassword": "[parameters('sqlAdministratorPassword')]",
        "version": "12.0",
        "publicNetworkAccess": "Enabled",
        "minimalTlsVersion": "1.2",
        "restrictOutboundNetworkAccess": "Disabled"
      }
    },
    {
      "type": "Microsoft.Sql/servers/databases",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}', parameters('sqlServerName'), parameters('databasesName'))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "DataWarehouse",
        "tier": "DataWarehouse",
        "capacity": "[parameters('capacity')]"
      },
      "properties": {
        "collation": "[parameters('databaseCollation')]",
        "catalogCollation": "[parameters('databaseCollation')]",
        "readScale": "Disabled",
        "requestedBackupStorageRedundancy": "Geo",
        "isLedgerOn": false
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
      ]
    },
    {
      "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}/{2}', parameters('sqlServerName'), parameters('databasesName'), 'current')]",
      "properties": {
        "state": "[parameters('transparentDataEncryption')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers/databases', parameters('sqlServerName'), parameters('databasesName'))]"
      ]
    },
    {
      "type": "Microsoft.Sql/servers/securityAlertPolicies",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}', parameters('sqlServerName'), 'default')]",
      "properties": {
        "state": "Enabled"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
      ]
    },
    {
      "type": "Microsoft.Sql/servers/auditingSettings",
      "apiVersion": "2023-08-01-preview",
      "name": "[format('{0}/{1}', parameters('sqlServerName'), 'default')]",
      "properties": {
        "isAzureMonitorTargetEnabled": true,
        "state": "Enabled",
        "retentionDays": 7,
        "auditActionsAndGroups": [
          "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
          "FAILED_DATABASE_AUTHENTICATION_GROUP",
          "BATCH_COMPLETED_GROUP"
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
      ]
    }
  ],
  "outputs": {
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    },
    "name": {
      "type": "string",
      "value": "[parameters('sqlServerName')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
    }
  }
}

O modelo define um recurso:

Implementar o modelo

  1. Selecione a imagem a seguir para entrar no Azure e abrir o modelo. Este modelo cria um pool SQL dedicado (anteriormente SQL DW).

    Botão para implantar o modelo do Gerenciador de Recursos no Azure.

  2. Insira ou atualize os seguintes valores:

    • Subscrição: selecione uma subscrição do Azure.
    • Grupo de recursos: selecione Criar novo e insira um nome exclusivo para o grupo de recursos e selecione OK. Um novo grupo de recursos facilitará a limpeza de recursos.
    • Região: Selecione uma região. Por exemplo, E.U.A. Central.
    • Nome do SQL Server: aceite o nome padrão ou insira um nome para o nome do SQL Server.
    • Logon do administrador SQL: insira o nome de usuário do administrador para o SQL Server.
    • Senha de administrador do SQL: digite a senha de administrador do SQL Server.
    • Nome do Data Warehouse: insira um nome de pool SQL dedicado.
    • Criptografia de dados transparente: aceite o padrão, habilitado.
    • Objetivo do Nível de Serviço: Aceite o padrão, DW400c.
    • Local: aceite o local padrão do grupo de recursos.
    • Rever e Criar: Selecionar.
    • Criar: Selecionar.

Analisar os recursos implementados

Você pode usar o portal do Azure para verificar os recursos implantados ou usar a CLI do Azure ou o script do Azure PowerShell para listar os recursos implantados.

echo "Enter the resource group where your dedicated SQL pool (formerly SQL DW) exists:" &&
read resourcegroupName &&
az resource list --resource-group $resourcegroupName

Limpeza de recursos

Quando não for mais necessário, exclua o grupo de recursos usando a CLI do Azure ou o Azure PowerShell:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Próximos passos

Neste início rápido, você criou um pool SQL dedicado (anteriormente SQL DW) usando um modelo ARM e validou a implantação. Para saber mais sobre o Azure Synapse Analytics e o Azure Resource Manager, consulte os artigos abaixo.