Configurar o armazenamento para VMs do SQL Server

Aplica-se a:SQL Server na VM do Azure

Este artigo ensina como configurar seu armazenamento para o SQL Server em Máquinas Virtuais (VMs) do Azure.

As VMs do SQL Server implantadas por meio de imagens do marketplace seguem automaticamente as práticas recomendadas de armazenamento padrão que podem ser modificadas durante a implantação. Algumas dessas definições de configuração podem ser alteradas após a implantação.

Pré-requisitos

Para usar as definições de configuração de armazenamento automatizado, sua máquina virtual requer as seguintes características:

Novas VMs

As seções a seguir descrevem como configurar o armazenamento para novas máquinas virtuais do SQL Server.

Portal do Azure

Ao provisionar uma VM do Azure usando uma imagem de galeria do SQL Server, selecione Alterar configuração em Armazenamento na guia Configurações do SQL Server para abrir a página Configurar armazenamento. Você pode deixar os valores como padrão ou modificar o tipo de configuração de disco que melhor atende às suas necessidades com base na carga de trabalho.

Screenshot that highlights the SQL Server settings tab and the Change configuration option.

Escolha o local da unidade para seus arquivos de dados e arquivos de log, especificando o tipo de disco e o número de discos. Use os valores IOPS para determinar a melhor configuração de armazenamento para atender às suas necessidades de negócios. A escolha do armazenamento premium define o cache como Somente leitura para a unidade de dados e Nenhum para a unidade de log, de acordo com as práticas recomendadas de desempenho da VM do SQL Server.

Screenshot from the Azure portal of the SQL Server VM Storage Configuration page during provisioning.

A configuração do disco é completamente personalizável para que você possa configurar a topologia de armazenamento, o tipo de disco e as IOPs necessárias para sua carga de trabalho de VM do SQL Server. Você também tem a capacidade de usar UltraSSD (visualização) como uma opção para o tipo de disco se sua VM do SQL Server estiver em uma das regiões com suporte (Leste dos EUA 2, Sudeste Asiático e Norte da Europa) e tiver habilitado discos ultra para sua assinatura.

Configure as tempdb configurações do banco de dados em Armazenamento TempDb, como o local dos arquivos de banco de dados, bem como o número de arquivos, o tamanho inicial e o tamanho do crescimento automático em MB.

  • Atualmente, durante a implantação, o número máximo de tempdb arquivos é 8, mas mais arquivos podem ser adicionados após a implantação da VM do SQL Server.
  • Se você configurar a instância tempdb do SQL Server no volume SSD D: local conforme recomendado, a extensão do SQL IaaS Agent gerenciará as pastas e as permissões necessárias durante o reprovisionamento. Isso não requer que você tenha criado a máquina virtual SQL com uma imagem do Azure Marketplace.

Screenshot that shows where you can configure the tempdb storage for your SQL VM.

Além disso, você tem a capacidade de definir o cache para os discos. As VMs do Azure têm uma tecnologia de cache de várias camadas chamada Cache de Blob quando usadas com Discos Premium. O Cache de Blob usa uma combinação da RAM da máquina virtual e SSD local para armazenamento em cache.

O cache de disco para SSD Premium pode ser Somente leitura, ReadWrite ou Nenhum.

  • O cache ReadOnly é altamente benéfico para arquivos de dados do SQL Server armazenados no Armazenamento Premium. O cache ReadOnly traz baixa latência de leitura, IOPS de leitura alta e taxa de transferência, pois as leituras são realizadas a partir do cache, que está dentro da memória da VM e do SSD local. Essas leituras são muito mais rápidas do que as leituras do disco de dados, que é do armazenamento de Blob do Azure. O armazenamento Premium não conta as leituras servidas do cache para o IOPS e a taxa de transferência do disco. Portanto, seu aplicável é capaz de alcançar IOPS e taxa de transferência totais mais altas.

  • Nenhuma configuração de cache deve ser usada para os discos que hospedam o arquivo de log do SQL Server, pois o arquivo de log é gravado sequencialmente e não se beneficia do cache ReadOnly .

  • O cache ReadWrite não deve ser usado para hospedar arquivos do SQL Server, pois o SQL Server não oferece suporte à consistência de dados com o cache ReadWrite. A capacidade de desperdício de gravações do cache de blob ReadOnly e as latências aumentam ligeiramente se as gravações passarem por camadas de cache de blob ReadOnly .

    Gorjeta

    Certifique-se de que sua configuração de armazenamento corresponda às limitações impostas pelo tamanho da VM selecionada. A escolha de parâmetros de armazenamento que excedam o limite de desempenho do tamanho da VM resultará em aviso: The desired performance might not be reached due to the maximum virtual machine disk performance cap. Diminua as IOPs alterando o tipo de disco ou aumente a limitação do limite de desempenho aumentando o tamanho da VM. Isso não interromperá o provisionamento.

Com base em suas escolhas, o Azure executa as seguintes tarefas de configuração de armazenamento depois de criar a VM:

  • Cria e anexa SSDs Premium à máquina virtual.
  • Configura os discos de dados para serem acessíveis ao SQL Server.
  • Configura os discos de dados em um pool de armazenamento com base nos requisitos de tamanho e desempenho especificados (IOPS e taxa de transferência).
  • Associa o pool de armazenamento a uma nova unidade na máquina virtual.
  • Otimiza essa nova unidade com base no tipo de carga de trabalho especificado (Data warehousing, Processamento transacional ou Geral).

Para obter um passo a passo completo de como criar uma VM do SQL Server no portal do Azure, consulte o tutorial de provisionamento.

Modelos do Resource Manager

Se você usar os seguintes modelos do Resource Manager, dois discos de dados premium serão anexados por padrão, sem configuração de pool de armazenamento. No entanto, você pode personalizar esses modelos para alterar o número de discos de dados premium anexados à máquina virtual.

Modelo de início rápido

Você pode usar o seguinte modelo de início rápido para implantar uma VM do SQL Server usando a otimização de armazenamento.

Nota

Alguns tamanhos de VM podem não ter armazenamento temporário ou local. Se você implantar um SQL Server na VM do Azure sem armazenamento temporário, tempdb os arquivos de dados e de log serão colocados na pasta de dados.

VMs existentes

Para VMs existentes do SQL Server, você pode modificar algumas configurações de armazenamento no portal do Azure. Abra o recurso de máquinas virtuais SQL e selecione Visão geral. A página Visão Geral do SQL Server mostra o uso atual de armazenamento da sua VM. Todas as unidades que existem na sua VM são exibidas neste gráfico. Para cada unidade, o espaço de armazenamento é exibido em quatro seções:

  • Dados SQL
  • Log SQL
  • Outro (armazenamento não-SQL)
  • Disponíveis

Para modificar as definições de armazenamento, selecione Configuração de armazenamento em Definições.

Screenshot that highlights the Configure option and the Storage Usage section.

Você pode modificar as configurações de disco para as unidades que foram configuradas durante o processo de criação da VM do SQL Server. Selecionar Configurar abre a página Estender unidade de dados, permitindo que você altere o tipo de disco, bem como adicione discos adicionais.

A screenshot from the Azure portal showing the Extend Data drive page, used to configure storage for an existing SQL Server VM.

Você também pode definir as configurações diretamente tempdb do portal do Azure, como o número de arquivos de dados, seu tamanho inicial e a taxa de crescimento automático. Para obter mais informações, consulte configure tempdb.

Alterações automatizadas

Esta seção fornece uma referência para as alterações de configuração de armazenamento que o Azure executa automaticamente durante o provisionamento ou configuração de VM do SQL Server no portal do Azure.

  • O Azure configura um pool de armazenamento a partir do armazenamento selecionado da sua VM. A próxima seção deste tópico fornece detalhes sobre a configuração do pool de armazenamento.
  • A configuração automática de armazenamento utiliza sempre discos de dados P30 SSDs premium. Consequentemente, há um mapeamento 1:1 entre o número selecionado de Terabytes e o número de discos de dados conectados à sua VM.

Para obter informações sobre preços, consulte a página Preços de armazenamento na guia Armazenamento em disco.

Criação do pool de armazenamento

O Azure usa as seguintes configurações para criar o pool de armazenamento em VMs do SQL Server.

Definição valor
Tamanho da risca 256 KB (Data warehouse); 64 KB (Transacional)
Tamanhos de disco 1 TB cada
Cache Lida
Dimensão da dotação Tamanho da unidade de alocação NTFS de 64 KB
Recuperação Recuperação simples (sem resiliência)
Número de colunas Número de discos de dados até 81

1 Depois que o pool de armazenamento for criado, não será possível alterar o número de colunas no pool de armazenamento.

Configurações de otimização da carga de trabalho

A tabela a seguir descreve as três opções de tipo de carga de trabalho disponíveis e suas otimizações correspondentes:

Tipo de carga de trabalho Description Otimizações
General (Geral) Configuração padrão que suporta a maioria das cargas de trabalho None
Processamento transacional Otimiza o armazenamento para cargas de trabalho OLTP de banco de dados tradicionais Sinalizador de rastreio 1117
Sinalizador de rastreamento 1118
Armazenamento de dados Otimiza o armazenamento para cargas de trabalho analíticas e de emissão de relatórios Sinalizador de rastreamento 610
Sinalizador de rastreio 1117

Nota

Você só pode especificar o tipo de carga de trabalho ao provisionar uma máquina virtual do SQL Server selecionando-a na etapa de configuração de armazenamento.

Enable caching

Altere a política de cache no nível do disco. Você pode fazer isso usando o portal do Azure, o PowerShell ou a CLI do Azure.

Para alterar sua política de cache no portal do Azure, siga estas etapas:

  1. Pare o serviço do SQL Server.

  2. Inicie sessão no Portal do Azure.

  3. Navegue até sua máquina virtual, selecione Discos em Configurações.

    Screenshot showing the VM disk configuration blade in the Azure portal.

  4. Escolha a política de cache apropriada para seu disco na lista suspensa.

    Screenshot showing the disk caching policy configuration in the Azure portal.

  5. Depois que a alteração entrar em vigor, reinicie a VM do SQL Server e inicie o serviço do SQL Server.

Ativar o Acelerador de Escrita

A Aceleração de Escrita é uma funcionalidade de disco que só está disponível para as Máquinas Virtuais (VMs) da Série M. O objetivo da aceleração de gravação é melhorar a latência de E/S das gravações no Armazenamento Premium do Azure quando você precisar de latência de E/S de um dígito devido a cargas de trabalho OLTP de missão crítica de alto volume ou ambientes de data warehouse.

Pare toda a atividade do SQL Server e encerre o serviço do SQL Server antes de fazer alterações na sua política de aceleração de gravação.

Se seus discos estiverem distribuídos, habilite a Aceleração de Gravação para cada disco individualmente e sua VM do Azure deverá ser desligada antes de fazer quaisquer alterações.

Para habilitar a Aceleração de Gravação usando o portal do Azure, siga estas etapas:

  1. Pare o serviço do SQL Server. Se os discos estiverem distribuídos, desligue a máquina virtual.

  2. Inicie sessão no Portal do Azure.

  3. Navegue até sua máquina virtual, selecione Discos em Configurações.

    Screenshot showing the VM disk configuration blade in the Azure portal.

  4. Escolha a opção de cache com o Acelerador de Gravação para seu disco na lista suspensa.

    Screenshot showing the write accelerator cache policy.

  5. Depois que a alteração entrar em vigor, inicie a máquina virtual e o serviço SQL Server.

Distribuição de disco

Para obter mais taxa de transferência, você pode adicionar discos de dados adicionais e usar o striping de disco. Para determinar o número de discos de dados, analise a taxa de transferência e a largura de banda necessárias para seus arquivos de dados do SQL Server, incluindo o log e tempdbo . Os limites de taxa de transferência e largura de banda variam de acordo com o tamanho da VM. Para saber mais, consulte Tamanho da VM

  • Para Windows 8/Windows Server 2012 ou posterior, use Espaços de Armazenamento com as seguintes diretrizes:

    1. Defina o interleave (tamanho da faixa) para 64 KB (65.536 bytes) para evitar impacto no desempenho devido ao desalinhamento da partição. Isso deve ser definido com o PowerShell.

    2. Definir contagem de colunas = número de discos físicos. Use o PowerShell ao configurar mais de 8 discos (não a interface do usuário do Gerenciador do Servidor).

Por exemplo, o PowerShell a seguir cria um novo pool de armazenamento com o tamanho de interleave para 64 KB e o número de colunas igual à quantidade de disco físico no pool de armazenamento:

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

No Windows Server 2016 e posterior, o valor padrão para -StorageSubsystemFriendlyName é Windows Storage on <VM Name>

  • Para o Windows 2008 R2 ou anterior, você pode usar discos dinâmicos (volumes distribuídos do sistema operacional) e o tamanho da distribuição é sempre de 64 KB. Esta opção foi preterida a partir do Windows 8/Windows Server 2012. Para obter informações, consulte a declaração de suporte em O Serviço de Disco Virtual está fazendo a transição para a API de Gerenciamento de Armazenamento do Windows.

  • Se você estiver usando Espaços de Armazenamento Diretos (S2D) com Instâncias de Cluster de Failover do SQL Server, deverá configurar um único pool. Embora volumes diferentes possam ser criados nesse único pool, todos eles compartilharão as mesmas características, como a mesma política de cache.

  • Determine o número de discos associados ao pool de armazenamento com base nas expectativas de carga. Lembre-se de que tamanhos de VM diferentes permitem números diferentes de discos de dados anexados. Para obter mais informações, consulte Tamanhos para máquinas virtuais.

Problemas conhecidos

A opção Configurar disco ou a folha Configuração de Armazenamento no recurso de máquina virtual SQL está acinzentada

A folha Configuração de Armazenamento pode ficar esmaecida a cinzento no portal do Azure se a extensão do SQL IaaS Agent estiver num estado de falha. Repare a extensão do SQL IaaS Agent.

Configurar na folha Configuração de Armazenamento pode ficar esmaecido se você tiver personalizado seu pool de armazenamento ou se estiver usando uma imagem que não seja do Marketplace.

Tenho um disco com 1 TB de espaço não alocado que não consigo remover do agrupamento de armazenamento

Não há nenhuma opção para remover o espaço não alocado de um disco que pertence a um agrupamento de armazenamento.