Otimizar o desempenho atualizando o pool de SQL dedicado (antigo SQL DW) no Azure Synapse Analytics

Atualize seu pool de SQL dedicado (antigo SQL DW) para a última geração de arquitetura de armazenamento e de hardware do Azure.

Por que atualizar?

Agora você pode atualizar diretamente para a camada de Computação Otimizada Gen2 do pool de SQL dedicado (antigo SQL DW) no portal do Azure para regiões com suporte. Se a região não der suporte à atualização automática, você poderá atualizar para uma região com suporte ou aguardar que a atualização automática esteja disponível em sua região. Atualize agora para aproveitar a última geração de hardware do Azure e arquitetura de armazenamento aprimorada, incluindo um desempenho mais rápido, escalabilidade mais alta e armazenamento em colunas ilimitado.

Importante

Essa atualização se aplica a pools de SQL dedicados (antigo SQL DW) da camada de Computação otimizada Gen1 em regiões com suporte.

Antes de começar

  1. Verifique se a região tem suporte para GEN1 para GEN2 para migração. Observe as datas de migração automática. Para evitar conflitos com o processo automatizado, planeje a migração manual antes da data de início do processo automatizado.

  2. Se você estiver em uma região que ainda não tenha suporte, continue a verificar sua região a ser adicionada ou atualize usando restauração para uma região com suporte.

  3. Se a região for compatível, atualize por meio do portal do Azure

  4. Selecione o nível de desempenho sugerido do pool de SQL dedicado (antigo SQL DW) com base em seu nível de desempenho atual na camada de Computação Otimizada Gen1 usando o mapeamento abaixo:

    Camada de Computação Otimizada Gen1 Camada de Computação Otimizada Gen2
    DW100 DW100c
    DW200 DW200c
    DW300 DW300c
    DW400 DW400c
    DW500 DW500c
    DW600 DW500c
    DW1000 DW1000c
    DW1200 DW1000c
    DW1500 DW1500c
    DW2000 DW2000c
    DW3000 DW3000c
    DW6000 DW6000c

Observação

Níveis de desempenho sugeridos não são uma conversão direta. Por exemplo, é recomendável ele irem de DW600 a DW500c.

Atualizar em uma região com suporte usando o portal do Azure

  • A migração de Gen1 para Gen2 por meio do portal do Azure é permanente. Não há um processo para retornar para Gen1.
  • O pool de SQL dedicado (antigo SQL DW) deve estar em execução para migrar para o Gen2

Antes de começar

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

  • Entre no portal do Azure.
  • Verifique se o pool de SQL dedicado (antigo SQL DW) está em execução – condição para a migração para Gen2

Comandos de atualização do PowerShell

  1. Se o pool de SQL dedicado (antigo SQL DW) da camada de Computação Otimizada Gen1 a ser atualizado estiver em pausa, volte a colocar o pool de SQL dedicado em execução.

  2. Esteja preparado para alguns minutos de tempo de inatividade.

  3. Identifique quaisquer referências de código para os níveis de desempenho de Computação Otimizada Gen1 e modifique-os para o nível de desempenho de Computação Otimizada Gen2. Abaixo, são apresentados dois exemplos para atualizar as referências de código antes da atualização:

    Comando do PowerShell Gen1 original:

    Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -DatabaseName "mySampleDataWarehouse" -ServerName "mynewserver-20171113" -RequestedServiceObjectiveName "DW300"
    

    Modificado para:

    Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -DatabaseName "mySampleDataWarehouse" -ServerName "mynewserver-20171113" -RequestedServiceObjectiveName "DW300c"
    

    Observação

    -RequestedServiceObjectiveName "DW300" alterado para - RequestedServiceObjectiveName "DW300c"

    Comando T-SQL Gen1 original:

    ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300') ;
    

    Modificado para:

    ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300c') ;
    

    Observação

    SERVICE_OBJECTIVE = 'DW300' alterador para SERVICE_OBJECTIVE = 'DW300c'

Inicie a atualização

  1. Vá para seu pool de SQL dedicado (antigo SQL DW) de Computação Otimizada Gen1 no portal do Azure. Se o pool de SQL dedicado (antigo SQL DW) da camada de Computação Otimizada Gen1 a ser atualizado estiver em pausa, volte a colocar o pool de SQL dedicado em execução.

  2. Selecione o cartão Atualizar para Gen2 na guia Tarefas: Atualizar_1

    Observação

    Se você não vir o cartão Fazer upgrade para Gen2 na guia Tarefas, seu tipo de assinatura será limitado na região atual. Envie um tíquete de suporte para que sua assinatura seja aprovada.

  3. Certifique-se de que sua carga de trabalho teve sua execução concluída e foi confirmada antes de atualizar. Você experimentará alguns minutos de tempo de inatividade antes que seu pool de SQL dedicado (antigo SQL DW) esteja online novamente como um pool de SQL dedicado da camada de Computação Otimizada Gen2. Selecione Atualizar:

    Upgrade_2

  4. Monitore a atualização verificando o status no Portal do Azure:

    Upgrade3

    A primeira etapa do processo de atualização passa pela operação de expansão ("Atualização - Offline") em que todas as sessões serão eliminadas e as conexões serão removidas.

    A segunda etapa do processo de atualização é a migração de dados ("Atualização - Online"). A migração de dados é um processo lento online em segundo plano. Esse processo lentamente move dados de colunas da arquitetura de armazenamento antiga para a nova arquitetura de armazenamento usando um cache SSD local. Durante esse tempo, seu pool SQL de dedicado (antigo SQL DW) estará online para consulta e carregamento. Seus dados estarão disponíveis para consulta, independentemente de se forem migrados ou não. A migração de dados ocorre a uma taxa que varia dependendo do tamanho dos seus dados, do nível de desempenho e do número de segmentos do columnstore.

  5. Recomendação opcional: assim que a operação de dimensionamento for concluída, você pode acelerar o processo de migração de dados em segundo plano. Você pode forçar a movimentação de dados executando Alter Index rebuild em todas as tabelas columnstore principais que você estaria consultando em uma classe maior de SLO e recursos. Essa operação é offline em comparação ao processo em segundo plano lento, que pode levar horas para ser concluído, dependendo do número e dos tamanhos de suas tabelas. No entanto, uma vez concluída, a migração de dados será muito mais rápida devido à nova arquitetura de armazenamento aprimorada com rowgroups de alta qualidade.

Observação

Alter Index rebuild é uma operação offline e as tabelas não estarão disponíveis até que a recompilação esteja concluída.

A consulta a seguir gera os comandos necessários Alter Index Rebuild para acelerar a migração de dados:

SELECT 'ALTER INDEX [' + idx.NAME + '] ON ['
       + Schema_name(tbl.schema_id) + '].['
       + Object_name(idx.object_id) + '] REBUILD ' + ( CASE
                                                         WHEN (
                                                     (SELECT Count(*)
                                                      FROM   sys.partitions
                                                             part2
                                                      WHERE  part2.index_id
                                                             = idx.index_id
                                                             AND
                                                     idx.object_id =
                                                     part2.object_id)
                                                     > 1 ) THEN
              ' PARTITION = '
              + Cast(part.partition_number AS NVARCHAR(256))
              ELSE ''
                                                       END ) + '; SELECT ''[' +
              idx.NAME + '] ON [' + Schema_name(tbl.schema_id) + '].[' +
              Object_name(idx.object_id) + '] ' + (
              CASE
                WHEN ( (SELECT Count(*)
                        FROM   sys.partitions
                               part2
                        WHERE
                     part2.index_id =
                     idx.index_id
                     AND idx.object_id
                         = part2.object_id) > 1 ) THEN
              ' PARTITION = '
              + Cast(part.partition_number AS NVARCHAR(256))
              + ' completed'';'
              ELSE ' completed'';'
                                                    END )
FROM   sys.indexes idx
       INNER JOIN sys.tables tbl
               ON idx.object_id = tbl.object_id
       LEFT OUTER JOIN sys.partitions part
                    ON idx.index_id = part.index_id
                       AND idx.object_id = part.object_id
WHERE  idx.type_desc = 'CLUSTERED COLUMNSTORE';

Atualize de uma região geográfica do Azure usando a restauração por meio do portal do Azure

Criar um ponto de restauração definido pelo usuário usando o portal do Azure

  1. Entre no portal do Azure.

  2. Navegue até o pool de SQL dedicado (antigo SQL DW) para o qual você deseja criar um ponto de restauração.

  3. Na parte superior da seção Visão Geral, selecione +Novo Ponto de Restauração.

    Novo Ponto de Restauração

  4. Especifique um nome para seu ponto de restauração.

    Nome do ponto de restauração

Restaurar um banco de dados ativo ou pausado usando o portal do Azure

  1. Entre no portal do Azure.

  2. Navegue até o pool de SQL dedicado (antigo SQL DW) que você deseja restaurar.

  3. Na parte superior da seção Visão Geral, selecione Restaurar.

     Visão geral da restauração

  4. Selecione Pontos de restauração automática ou Pontos de restauração definido pelo usuário. No caso dos pontos de usuário, selecione um ponto de restauração definido pelo usuário ou Criar ponto de restauração definido pelo usuário. No caso do servidor, selecione Criar e escolha um servidor em uma região geográfica com suporte do Gen2.

    Pontos de restauração automática

Restaurar um banco de dados excluído usando o PowerShell

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Para recuperar um banco de dados, use o cmdlet Restore-AzSqlDatabase.

Observação

Você pode executar uma restauração geográfica para Gen2! Para fazer isso, especifique um ServiceObjectiveName de Gen2 (por exemplo, DW1000c) como parâmetro opcional.

  1. Abra o Windows PowerShell.
  2. Conecte-se à sua conta do Azure e liste todas as assinaturas associadas à sua conta.
  3. Selecione a assinatura que contém o banco de dados a ser restaurado.
  4. Obtenha o banco de dados que você deseja recuperar.
  5. Crie a solicitação de recuperação para o banco de dados, especificando um ServiceObjectiveName Gen2.
  6. Verifique o status do banco de dados com restauração geográfica.
Connect-AzAccount
Get-AzSubscription
Select-AzSubscription -SubscriptionName "<Subscription_name>"

# Get the database you want to recover
$GeoBackup = Get-AzSqlDatabaseGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourServerName>" -DatabaseName "<YourDatabaseName>"

# Recover database
$GeoRestoredDatabase = Restore-AzSqlDatabase –FromGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourTargetServer>" -TargetDatabaseName "<NewDatabaseName>" –ResourceId $GeoBackup.ResourceID -ServiceObjectiveName "<YourTargetServiceLevel>" -RequestedServiceObjectiveName "DW300c"

# Verify that the geo-restored database is online
$GeoRestoredDatabase.status

Observação

Para configurar o banco de dados após a conclusão da restauração, consulte Configurar o banco de dados após a recuperação.

O banco de dados recuperado será habilitado para TDE se o banco de dados de origem for habilitado para TDE.

Se você tiver problemas com seu pool de SQL dedicado, crie uma solicitação de suporte e mencione "atualização de Gen2" como a possível causa.

Próximas etapas

Seu pool de SQL dedicado atualizado (antigo SQL DW) está online. Para aproveitar a arquitetura avançada, consulte Classes de recursos para gerenciamento de carga de trabalho.