Dimensionar os recursos de pool elástico no banco de dados SQL do Azure

Aplica-se a: Banco de Dados SQL do Azure

Este artigo descreve como dimensionar os recursos de computação e armazenamento disponíveis para pools elásticos e bancos de dados em pool no Banco de Dados SQL do Azure.

Alterar recursos de computação (vCores ou DTUs)

Depois de escolher inicialmente o número de vCores ou eDTUs, você poderá escalar e reduzir um pool elástico verticalmente de modo dinâmico com base na experiência real usando um dos métodos abaixo:

Impacto da alteração da camada de serviço ou do redimensionamento do tamanho da computação

Alterar a camada de serviço ou o tamanho de computação de um pool elástico segue um padrão semelhante para bancos de dados individuais e envolve, principalmente, o serviço executando as etapas a seguir:

  1. Criar nova instância de computação para o pool elástico

    Uma nova instância de computação para o pool elástico é criada com a camada de serviço e o tamanho de computação solicitados. Para algumas combinações de camada de serviço e alterações de tamanho da computação, uma réplica de cada banco de dados precisa ser criada na nova instância de computação, o que envolve a cópia de dados e pode influenciar muito a latência em geral. Ainda assim, os bancos de dados permanecem online durante essa etapa e as conexões continuam a ser direcionadas para os bancos de dados na instância de computação original.

  2. Alternar o roteamento de conexões para a nova instância de computação

    As conexões existentes com os bancos de dados na instância de computação original são removidas. Todas as conexões novas são estabelecidas com os bancos de dados na nova instância de computação. Para algumas combinações de alterações de tamanho de computação e camada de serviço, os arquivos de banco de dados são desanexados e reanexados durante a alternância. Ainda assim, a alternância pode resultar em uma breve interrupção do serviço quando os bancos de dados estiverem indisponíveis, o que dura menos de 30 segundos e geralmente por apenas alguns segundos. Se houver transações de execução prolongada ativas quando as conexões forem removidas, a duração dessa etapa poderá ser maior para recuperar as transações anuladas. A Recuperação Acelerada de Banco de Dados pode reduzir o impacto da anulação de transações de execução prolongada.

Importante

Nenhum dado é perdido durante as etapas no fluxo de trabalho.

Latência da alteração da camada de serviço ou do redimensionamento do tamanho da computação

A latência estimada para alterar a camada de serviço, dimensionar o tamanho de computação de um único banco de dados ou pool elástico, mover um banco de dados para dentro/fora de um pool elástico ou mover um banco de dados entre pools elásticos é parametrizada da seguinte maneira:

Latência de dimensionamento de pool elástico Para pool elástico básico, padrão e de uso geral Para pool elástico Premium, Comercialmente Crítico Para pool elástico de Hiperescala
De pool elástico básico, padrão e de uso geral Proporcional ao número de bancos de dados • Latência proporcional ao espaço do banco de dados usado para cópia de dados.
• Normalmente, menos de 1 minuto por GB de espaço usado.
N/A — os bancos de dados precisam ser adicionados individualmente aos pools elásticos de Hiperscala. Dimensionamento de latência por banco de dados documentado em Dimensionar recursos de banco de dados único.
De pool elástico Premium, Comercialmente Crítico • Latência proporcional ao espaço do banco de dados usado para cópia de dados.
• Normalmente, menos de 1 minuto por GB de espaço usado.
• Latência proporcional ao espaço do banco de dados usado para cópia de dados.
• Normalmente, menos de 1 minuto por GB de espaço usado.
N/A — os bancos de dados precisam ser adicionados individualmente aos pools elásticos de Hiperscala. Dimensionamento de latência por banco de dados documentado em Dimensionar recursos de banco de dados único.
De pool elástico de Hiperescala N/D N/D • Latência de tempo constante independente do espaço usado.
• Normalmente, menos de dois minutos.

Observação

  • Ao alterar o nível de serviço ou o dimensionamento de computação para qualquer pool elástico que não seja de Hiperescala, a soma do espaço usado em todos os bancos de dados do conjunto deve ser usada para calcular a estimativa. O dimensionamento da latência para pools elásticos de Hiperescala é independente do espaço usado.
  • Para pools elásticos Standard e de Uso Geral, a latência de mover um banco de dados para dentro/fora de um pool elástico ou entre pools elásticos será proporcional ao tamanho do banco de dados se o pool elástico estiver usando o armazenamento PFS(compartilhamento de arquivos Premium). Para determinar se um pool está usando o armazenamento PFS, execute a consulta a seguir nos contextos dos banco de dados no pool. Se o valor na coluna AccountType for PremiumFileStorage ou PremiumFileStorage-ZRS, o pool está usando o armazenamento PFS.
SELECT s.file_id,
       s.type_desc,
       s.name,
       FILEPROPERTYEX(s.name, 'AccountType') AS AccountType
FROM sys.database_files AS s
WHERE s.type_desc IN ('ROWS', 'LOG');

Observação

  • A propriedade com redundância de zona permanecerá a mesma por padrão ao dimensionar um pool elástico de Comercialmente Crítico para a camada de Uso Geral.
  • A latência para a operação de escala quando a redundância de zona é alterada para um pool elástico de uso geral é proporcional ao tamanho do banco de dados.
  • Não há suporte para a alteração de um pool elástico que não é de hiperescala existente para a edição de hiperescala. Consulte Pools elásticos de Hiperescala para obter mais detalhes. Em vez disso, os bancos de dados precisam ser adicionados individualmente a pools elásticos de Hiperescala.
  • Não há suporte para a alteração da edição de um pool elástico de Hiperescala para uma edição que não é de Hiperescala. Consulte Pools elásticos de Hiperescala para obter mais detalhes.

Mais considerações a fazer ao alterar a camada de serviço ou redimensionar o tamanho da computação

  • Quando você reduz os vCores ou eDTUs de um pool elástico, o espaço usado do pool precisa ser menor do que o limite de tamanho máximo permitido da computação do pool e da camada de serviço de destino.
  • Quando você aumenta as eDTUs de um pool elástico, um custo de armazenamento extra pode ser aplicado se:
    • O tamanho máximo dos dados do pool é compatível com o pool de destino e
    • O tamanho máximo dos dados do pool excede a quantidade de armazenamento incluída do pool de destino.
  • Por exemplo, se um pool Standard de 100 eDTU com um tamanho máximo de 100 GB for reduzido para um pool Standard de 50 eDTU, um custo de armazenamento extra será aplicado, pois o pool de destino dá suporte ao tamanho máximo de 100 GB e a quantidade de armazenamento incluída é de apenas 50 GB. Assim, a quantidade de armazenamento extra será 100 GB – 50 GB = 50 GB. Para obter o preço do armazenamento extra, confira Preços do Banco de Dados SQL. Se a quantidade real de espaço usado for menor do que a quantidade de armazenamento incluída, esse custo extra poderá ser evitado por meio da redução do tamanho máximo dos dados para a quantidade incluída.

Cobrança durante o redimensionamento

Você será cobrado pelas horas em que um banco de dados existir usando a camada de serviço mais alta mais o tamanho da computação aplicado durante essas horas, independentemente do uso ou se o banco de dados ficou ativo por menos de uma hora. Por exemplo, se você criar um banco de dados individual e o excluir depois de cinco minutos, sua fatura apresentará uma cobrança referente a uma hora de banco de dados.

Alterar o tamanho do armazenamento do pool elástico

O tamanho do armazenamento (tamanho máximo dos dados) do pool elástico pode ser especificado usando o portal do Azure, o PowerShell, a CLI do Azure ou a API REST. Quando você aumenta o tamanho máximo dos dados do pool elástico, o valor especificado não pode exceder o limite máximo de tamanho de dados do objetivo de serviço do pool. Ao diminuir o tamanho máximo dos dados, o novo valor especificado deve ser igual ou maior que a soma do espaço alocado em todos os bancos de dados no pool.

Importante

Em algumas circunstâncias, talvez seja necessário reduzir um banco de dados para recuperar o espaço não utilizado. Para obter mais informações, consulte gerenciar o espaço de arquivo no banco de dados SQL do Azure.

Modelo de compra baseado em vCore

  • O tamanho do armazenamento (tamanho máximo dos dados) dos pools elásticos nas camadas Uso Geral ou Comercialmente Crítico pode ser especificado até os limites máximos de tamanho de dados especificados em Limites de recursos de pools elásticos usando o modelo de compra vCore. O tamanho máximo dos dados do pool elástico pode ser aumentado ou reduzido em múltiplos de 1 GB.
  • O preço do armazenamento de um pool elástico é o tamanho máximo dos dados multiplicado pelo preço unitário do armazenamento da camada de serviço. Para obter detalhes sobre o preço de armazenamento, confira Preços do Banco de Dados SQL.

Importante

Em algumas circunstâncias, talvez seja necessário reduzir um banco de dados para recuperar o espaço não utilizado. Para obter mais informações, consulte gerenciar o espaço de arquivo no banco de dados SQL do Azure.

Modelo de compra baseado em DTU

  • O preço de eDTU para um pool elástico inclui uma determinada quantidade de armazenamento sem custo adicional. O armazenamento de dados extra além do valor incluído pode ser provisionado com um custo adicional até o limite máximo de tamanho de dados correspondente às eDTUs provisionadas. Para saber quais são os limites de tamanho máximo dos dados e de quantidade de armazenamento incluídos, confira Limites de recursos de pools elásticos usando o modelo de compra de DTU.
  • O preço do armazenamento extra para um pool elástico é a quantidade de armazenamento extra multiplicada pelo preço unitário do armazenamento extra da camada de serviço. Para obter detalhes sobre o preço de armazenamento extra, confira Preços do Banco de Dados SQL.
  • Os valores válidos para o tamanho máximo dos dados de um pool elástico da camada Standard ou Premium podem ser um destes valores: 50 GB, 100 GB, 150 GB, 200 GB, 250 GB, 300 GB, 400 GB, 500 GB, 750 GB, 800 GB, 1024 GB, 1200 GB, 1280 GB, 1536 GB, 1600 GB, 1792 GB, 2000 GB, 2048 GB, 2304 GB, 2500 GB, 2560 GB, 2816 GB, 3000 GB, 3072 GB, 3328 GB, 3584 GB, 3840 GB, 4096 GB. O tamanho máximo dos dados especificado não pode exceder o limite máximo de tamanho de dados especificado para as eDTUs provisionadas.

Importante

Em algumas circunstâncias, talvez seja necessário reduzir um banco de dados para recuperar o espaço não utilizado. Para obter mais informações, consulte gerenciar o espaço de arquivo no banco de dados SQL do Azure.

Monitorar ou cancelar as alterações de escala

Uma operação de alteração de camada de serviço ou redimensionamento de computação pode ser monitorada e cancelada.

Na página de visão geral do pool elástico do SQL, navegue até Notificações e selecione o bloco indicando que há uma operação em andamento:

Captura de tela do portal do Azure de uma implantação em andamento.

Na página Implantação em andamento resultante, selecione Cancelar.

Permissões

Para dimensionar um pool elástico por meio do portal do Azure, PowerShell, CLI do Azure ou API REST, são necessárias permissões RBAC do Azure, especificamente as funções do Azure RBAC Colaborador, Colaborador do BD SQL ou Colaborador do SQL Server. Para obter mais informações, confira Azure RBAC built-in roles.

Para saber os limites de recurso global, confira Limites de recurso baseado em vCore do banco de dados SQL – pools elásticos e Limites de DTU de banco de dados do SQL com base em recurso – pools elásticos.