Diretrizes de desempenho para o SQL Server em Máquinas Virtuais do Microsoft AzurePerformance guidelines for SQL Server on Azure Virtual Machines

APLICA-SE A: SQL Server na VM do Azure

Este artigo fornece diretrizes para otimizar o desempenho de SQL Server no Máquinas Virtuais do Microsoft Azure.This article provides guidance for optimizing SQL Server performance in Microsoft Azure Virtual Machines.

Visão geralOverview

Ao executar SQL Server em máquinas virtuais do Azure, recomendamos que você continue usando as mesmas opções de ajuste de desempenho do banco de dados que são aplicáveis a SQL Server em ambientes de servidor local.While running SQL Server on Azure Virtual Machines, we recommend that you continue using the same database performance tuning options that are applicable to SQL Server in on-premises server environments. No entanto, o desempenho de um banco de dados relacional em uma nuvem pública depende de muitos fatores como, por exemplo, o tamanho de uma máquina virtual e a configuração dos discos de dados.However, the performance of a relational database in a public cloud depends on many factors such as the size of a virtual machine, and the configuration of the data disks.

SQL Server imagens provisionadas no portal do Azure seguir as práticas recomendadas de configuraçãode armazenamento geral.SQL Server images provisioned in the Azure portal follow general storage configuration best practices. Após o provisionamento, considere aplicar outras otimizações discutidas neste artigo.After provisioning, consider applying other optimizations discussed in this article. Baseie suas escolhas na carga de trabalho e verifique por meio de testes.Base your choices on your workload and verify through testing.

Dica

Normalmente, há uma compensação entre a otimização para custos e a otimização para desempenho.There is typically a trade-off between optimizing for costs and optimizing for performance. Este artigo se concentra em obter o melhor desempenho para SQL Server em máquinas virtuais do Azure.This article is focused on getting the best performance for SQL Server on Azure Virtual Machines. Se sua carga de trabalho for menos exigente, talvez você não precise de todos os aprimoramentos relacionados abaixo.If your workload is less demanding, you might not require every optimization listed below. Considere suas necessidades de desempenho, custos e padrões de carga de trabalho ao avaliar essas recomendações.Consider your performance needs, costs, and workload patterns as you evaluate these recommendations.

Lista de verificação rápidaQuick checklist

Veja a seguir uma lista de verificação rápida para o desempenho ideal de SQL Server em máquinas virtuais do Azure:The following is a quick checklist for optimal performance of SQL Server on Azure Virtual Machines:

ÁreaArea OtimizaçõesOptimizations
Tamanho da VMVM size -Use tamanhos de VM com 4 ou mais vCPU, como o Standard_M8-4ms, o E4ds_v4ou o DS12_v2 ou superior.- Use VM sizes with 4 or more vCPU like the Standard_M8-4ms, the E4ds_v4, or the DS12_v2 or higher.

-Use tamanhos de máquina virtual com otimização de memória para obter o melhor desempenho de cargas de trabalho de SQL Server.- Use memory optimized virtual machine sizes for the best performance of SQL Server workloads.

-A série DSv2 11-15, Edsv4 , a M-e a série Mv2 oferecem a proporção ideal de memória para vCore necessária para cargas de trabalho OLTP.- The DSv2 11-15, Edsv4 series, the M-, and the Mv2- series offer the optimal memory-to-vCore ratio required for OLTP workloads. Ambas as VMs da série M oferecem a maior taxa de memória para vCore necessária para cargas de trabalho críticas e também é ideal para cargas de trabalho de data warehouse.Both M series VMs offer the highest memory-to-vCore ratio required for mission critical workloads and is also ideal for data warehouse workloads.

-Uma taxa maior de memória para vCore pode ser necessária para cargas de trabalho de missão crítica e data warehouse.- A higher memory-to-vCore ratio may be required for mission critical and data warehouse workloads.

-Aproveite as imagens do Marketplace de máquina virtual do Azure, pois as configurações de SQL Server e as opções de armazenamento estão configuradas para um desempenho de SQL Server ideal.- Leverage the Azure Virtual Machine marketplace images as the SQL Server settings and storage options are configured for optimal SQL Server performance.

-Coletar as características de desempenho da carga de trabalho de destino e usá-las para determinar o tamanho apropriado da VM para seu negócio.- Collect the target workload's performance characteristics and use them to determine the appropriate VM size for your business.
ArmazenamentoStorage -Para obter testes detalhados de desempenho de SQL Server em máquinas virtuais do Azure com o TPC-E e TPC_C parâmetros de comparação, consulte o blog otimizar o desempenho do OLTP.- For detailed testing of SQL Server performance on Azure Virtual Machines with TPC-E and TPC_C benchmarks, refer to the blog Optimize OLTP performance.

– Use SSDs Premium para obter as melhores vantagens de preço/desempenho.- Use premium SSDs for the best price/performance advantages. Configure o cache somente leitura para arquivos de dados e nenhum cache para o arquivo de log.Configure Read only cache for data files and no cache for the log file.

-Use ultra discos se menos de 1-MS latências de armazenamento forem exigidas pela carga de trabalho.- Use Ultra Disks if less than 1-ms storage latencies are required by the workload. Consulte migrar para o ultra Disk para saber mais.See migrate to ultra disk to learn more.

– Colete os requisitos de latência de armazenamento para dados do SQL Server, arquivos de log e TempDB monitorando o aplicativo antes de escolher o tipo de disco.- Collect the storage latency requirements for SQL Server data, log, and Temp DB files by monitoring the application before choosing the disk type. Se < as latências de armazenamento de 1 MS forem necessárias, use ultra discos, caso contrário, use o SSD Premium.If < 1-ms storage latencies are required, then use Ultra Disks, otherwise use premium SSD. Se latências baixas forem necessárias apenas para o arquivo de log e não para arquivos de dados, provisione o Disco Ultra nos níveis de taxa de transferência e IOPS necessários somente para o arquivo de log.If low latencies are only required for the log file and not for data files, then provision the Ultra Disk at required IOPS and throughput levels only for the log File.

– O Armazenamento Standard é recomendado apenas para fins de desenvolvimento e teste ou para arquivos de backup e não deve ser usado para cargas de trabalho de produção.- Standard storage is only recommended for development and test purposes or for backup files and should not be used for production workloads.

- Mantenha a conta de armazenamento e a VM do SQL Server na mesma região.- Keep the storage account and SQL Server VM in the same region.

– Desabilite o armazenamento com redundância geográfica (replicação geográfica) do Azure na conta de armazenamento.- Disable Azure geo-redundant storage (geo-replication) on the storage account.
DiscosDisks – Usar no mínimo dois discos SSD Premium (um para arquivo de log e um para arquivos de dados).- Use a minimum of 2 premium SSD disks (1 for log file and 1 for data files).

-Para cargas de trabalho que exigem < latências de e/s de 1 ms, habilite o acelerador de gravação para a série M e considere usar discos SSD Ultra para a série es e DS.- For workloads requiring < 1-ms IO latencies, enable write accelerator for M series and consider using Ultra SSD disks for Es and DS series.

– Habilite o cache somente leitura nos discos que hospedam os arquivos de dados.- Enable read only caching on the disk(s) hosting the data files.

-Adicionar uma capacidade adicional de IOPS/taxa de transferência de 20% do que sua carga de trabalho requer ao Configurar o armazenamento para SQL Server dados, log e arquivos tempdb- Add an additional 20% premium IOPS/throughput capacity than your workload requires when configuring storage for SQL Server data, log, and TempDB files

- Evite usar o sistema operacional ou discos temporários para armazenamento de banco de dados ou registro em log.- Avoid using operating system or temporary disks for database storage or logging.

- Não habilite o cache em discos que hospedam o arquivo de log.- Do not enable caching on disk(s) hosting the log file. Importante: Pare o serviço de SQL Server ao alterar as configurações de cache para um disco de máquinas virtuais do Azure.Important: Stop the SQL Server service when changing the cache settings for an Azure Virtual Machines disk.

– Particione vários discos de dados do Azure para obter maior taxa de transferência de armazenamento.- Stripe multiple Azure data disks to get increased storage throughput.

- Formate com os tamanhos de alocação documentados.- Format with documented allocation sizes.

– Coloque o TempDB na unidade D:\ SSD local para cargas de trabalho do SQL Server críticas (depois de escolher o tamanho correto de VM).- Place TempDB on the local SSD D:\ drive for mission critical SQL Server workloads (after choosing correct VM size). Se você criar a VM no portal do Azure ou nos modelos de início rápido do Azure e inserir o banco de informações temporário no disco local, você não precisará de nenhuma ação adicional; para todos os outros casos, siga as etapas no blog para usar o SSDs para armazenar o tempdb para evitar falhas após a reinicialização.If you create the VM from the Azure portal or Azure quickstart templates and place Temp DB on the Local Disk, then you do not need any further action; for all other cases follow the steps in the blog for Using SSDs to store TempDB to prevent failures after restarts. Se a capacidade da unidade local não for suficiente para o tamanho do TempDB, coloque o TempDB em um pool de armazenamento distribuído em discos SSD Premium com cache somente leitura.If the capacity of the local drive is not enough for your Temp DB size, then place Temp DB on a storage pool striped on premium SSD disks with read-only caching.
E/SI/O - Habilite a compactação de página do banco de dados.- Enable database page compression.

- Habilite a inicialização instantânea de arquivos para arquivos de dados.- Enable instant file initialization for data files.

- Limite o aumento automático do banco de dados.- Limit autogrowth of the database.

- Desabilite a redução automática no banco de dados.- Disable autoshrink of the database.

- Mova todos os bancos de dados para discos de dados, incluindo bancos de dados do sistema.- Move all databases to data disks, including system databases.

- Mova o log de erros do SQL Server e os diretórios de arquivos de rastreamento para discos de dados.- Move SQL Server error log and trace file directories to data disks.

– Configure os locais do arquivo de banco de dados e de backup padrão.- Configure default backup and database file locations.

- Habilitar páginas bloqueadas na memória.- Enable locked pages in memory.

-Avaliar e aplicar as atualizações cumulativas mais recentes para a versão instalada do SQL Server.- Evaluate and apply the latest cumulative updates for the installed version of SQL Server.
Recursos específicosFeature-specific -Fazer backup diretamente no armazenamento de BLOBs do Azure.- Back up directly to Azure Blob storage.

– Use backups de instantâneos de arquivo para bancos de dados maiores que 12 TB.- Use file snapshot backups for databases larger than 12 TB.

– Use vários arquivos TempDB, um arquivo por núcleo, até oito arquivos.- Use multiple Temp DB files, 1 file per core, up to 8 files.

– Defina a memória máxima do servidor para 90% ou até 50 GB restantes para o sistema operacional.- Set max server memory at 90% or up to 50 GB left for the Operating System.

– Habilite o soft NUMA.- Enable soft NUMA.

Para saber mais sobre *como* e *por que* fazer essas otimizações, examine os detalhes e diretrizes fornecidos nas seções a seguir.For more information on *how* and *why* to make these optimizations, please review the details and guidance provided in the following sections.

IntroduçãoGetting started

Se você estiver criando um novo SQL Server na VM do Azure e não estiver migrando um sistema de origem atual, crie sua nova VM de SQL Server com base em seus requisitos de fornecedor.If you are creating a new SQL Server on Azure VM and are not migrating a current source system, create your new SQL Server VM based on your vendor requirements. Os requisitos do fornecedor para uma VM SQL Server são os mesmos que você implantaria no local.The vendor requirements for a SQL Server VM are the same as what you would deploy on-premises.

Se você estiver criando uma nova VM SQL Server com um novo aplicativo criado para a nuvem, poderá dimensionar facilmente sua VM SQL Server conforme seus requisitos de dados e de uso evoluem.If you are creating a new SQL Server VM with a new application built for the cloud, you can easily size your SQL Server VM as your data and usage requirements evolve. Inicie os ambientes de desenvolvimento com as séries D-Series, B ou Av2 de nível inferior e aumente seu ambiente ao longo do tempo.Start the development environments with the lower-tier D-Series, B-Series, or Av2-series and grow your environment over time.

O mínimo recomendado para um ambiente OLTP de produção é 4 vCore, 32 GB de memória e uma proporção de memória para vCore de 8.The recommended minimum for a production OLTP environment is 4 vCore, 32 GB of memory, and a memory-to-vCore ratio of 8. Para novos ambientes, comece com 4 máquinas vCores e dimensione para 8, 16, 32 vCores ou mais quando seus requisitos de dados e computação forem alterados.For new environments, start with 4 vCore machines and scale to 8, 16, 32 vCores or more when your data and compute requirements change. Para a taxa de transferência do OLTP, direcione as VMs de SQL Server que têm 5000 IOPS para cada vCore.For OLTP throughput, target SQL Server VMs that have 5000 IOPS for every vCore.

Use o SQL Server imagens do Marketplace de VM com a configuração de armazenamento no Portal.Use the SQL Server VM marketplace images with the storage configuration in the portal. Isso facilitará a criação apropriada dos pools de armazenamento necessários para obter o tamanho, o IOPS e a taxa de transferência necessários para suas cargas de trabalho.This will make it easier to properly create the storage pools necessary to get the size, IOPS, and throughput necessary for your workloads. É importante escolher SQL Server VMs que dão suporte ao armazenamento Premium e ao cache de armazenamento Premium.It is important to choose SQL Server VMs that support premium storage and premium storage caching. Consulte a seção armazenamento para saber mais.See the storage section to learn more.

SQL Server data warehouse e ambientes de missão crítica geralmente precisarão ser dimensionados além da proporção de 8 memórias para vCore.SQL Server data warehouse and mission critical environments will often need to scale beyond the 8 memory-to-vCore ratio. Para ambientes médios, talvez você queira escolher uma proporção de 16 núcleos para memória e uma proporção de 32 de núcleo para memória para ambientes maiores de data warehouse.For medium environments, you may want to choose a 16 core-to-memory ratio, and a 32 core-to-memory ratio for larger data warehouse environments.

SQL Server ambientes de data warehouse geralmente se beneficiam do processamento paralelo de máquinas maiores.SQL Server data warehouse environments often benefit from the parallel processing of larger machines. Por esse motivo, a série M e a série Mv2 são opções fortes para ambientes maiores de data warehouse.For this reason, the M-series and the Mv2-series are strong options for larger data warehouse environments.

Diretrizes de tamanho de VMVM size guidance

Use o vCPU e a configuração de memória do seu computador de origem como uma linha de base para migrar um banco de dados SQL Server local atual para SQL Server em VMs do Azure.Use the vCPU and memory configuration from your source machine as a baseline for migrating a current on-premises SQL Server database to SQL Server on Azure VMs. Traga sua principal licença do Azure para aproveitar o benefício híbrido do Azure e economize em SQL Server custos de licenciamento.Bring your core license to Azure to take advantage of the Azure Hybrid Benefit and save on SQL Server licensing costs.

A Microsoft recomenda uma proporção de memória para vCore de 8 como um ponto de partida para cargas de trabalho de SQL Server de produção.Microsoft recommends a memory-to-vCore ratio of 8 as a starting point for production SQL Server workloads. As taxas menores são aceitáveis para cargas de trabalho que não são de produção.Smaller ratios are acceptable for non-production workloads.

Escolha um tamanho de máquina virtual com otimização de memória, uso geral, armazenamento otimizadoou com restrição restrita que seja ideal para SQL Server desempenho com base em sua carga de trabalho (OLTP ou data warehouse).Choose a memory optimized, general purpose, storage optimized, or constrained vCore virtual machine size that is most optimal for SQL Server performance based on your workload (OLTP or data warehouse).

Otimizado para memóriaMemory optimized

Os tamanhos de máquina virtual com otimização de memória são um destino principal para SQL Server VMs e a opção recomendada pela Microsoft.The memory optimized virtual machine sizes are a primary target for SQL Server VMs and the recommended choice by Microsoft. As máquinas virtuais com otimização de memória oferecem taxas mais fortes de memória para CPU e opções de cache de médio a grande porte.The memory optimized virtual machines offer stronger memory-to-CPU ratios and medium-to-large cache options.

Série M e Mv2M and Mv2 series

A série M oferece contagens de vCore e memória para algumas das maiores cargas de trabalho de SQL Server.The M-series offers vCore counts and memory for some of the largest SQL Server workloads.

A série Mv2 tem as maiores contagens de vCore e memória e é recomendada para cargas de trabalho de missão crítica e data warehouse.The Mv2-series has the highest vCore counts and memory and is recommended for mission critical and data warehouse workloads. As instâncias da série Mv2 são tamanhos de VM com otimização de memória que fornecem desempenho computacional inigualável para dar suporte a grandes bancos de dados na memória e cargas de trabalho com uma alta taxa de memória para CPU que é perfeita para servidores de banco de dados relacionais, caches grandes e análise na memória.Mv2-series instances are memory optimized VM sizes providing unparalleled computational performance to support large in-memory databases and workloads with a high memory-to-CPU ratio that is perfect for relational database servers, large caches, and in-memory analytics.

O Standard_M64ms tem uma proporção de memória para vCore de 28, por exemplo.The Standard_M64ms has a 28 memory-to-vCore ratio for example.

Alguns dos recursos da série M e Mv2 atraentes para o desempenho de SQL Server incluem armazenamento Premium e suporte a cache de armazenamento Premium , suporte a ultra discos e aceleração de gravação.Some of the features of the M and Mv2-series attractive for SQL Server performance include premium storage and premium storage caching support, ultra-disk support, and write acceleration.

Série Edsv4Edsv4-series

A série Edsv4 é projetada para aplicativos com uso intensivo de memória.The Edsv4-series is designed for memory-intensive applications. Essas VMs têm uma grande capacidade de SSD de armazenamento local, IOPS de disco local forte, até 504 GiB de RAM e computação aprimorada em comparação com os tamanhos de Ev3/Esv3 anteriores com VMs Gen2.These VMs have a large local storage SSD capacity, strong local disk IOPS, up to 504 GiB of RAM, and improved compute compared to the previous Ev3/Esv3 sizes with Gen2 VMs. Há uma proporção quase consistente de memória para vCore de 8 em todas essas máquinas virtuais, o que é ideal para cargas de trabalho de SQL Server padrão.There is a nearly consistent memory-to-vCore ratio of 8 across these virtual machines, which is ideal for standard SQL Server workloads.

Essa série de VMs é ideal para aplicativos empresariais com uso intensivo de memória e aplicativos que se beneficiam de armazenamento local de alta velocidade e de baixa latência.This VM series is ideal for memory-intensive enterprise applications and applications that benefit from low latency, high-speed local storage.

As máquinas virtuais da série Edsv4 dão suporte ao armazenamento Premiume ao cache de armazenamento Premium.The Edsv4-series virtual machines support premium storage, and premium storage caching.

Série DSv2 11-15DSv2-series 11-15

A série DSv2 11-15 tem as mesmas configurações de memória e disco que a série D anterior.The DSv2-series 11-15 has the same memory and disk configurations as the previous D-series. Esta série tem uma proporção consistente de memória para CPU de 7 em todas as máquinas virtuais.This series has a consistent memory-to-CPU ratio of 7 across all virtual machines.

A série DSv2 11-15 dá suporte ao armazenamento Premium e ao cache de armazenamento Premium, que é altamente recomendável para um desempenho ideal.The DSv2-series 11-15 supports premium storage and premium storage caching, which is strongly recommended for optimal performance.

Uso GeralGeneral Purpose

Os tamanhos de máquina virtual de uso geral são projetados para fornecer taxas balanceadas de memória para vCore para cargas de trabalho de nível de entrada menores, como desenvolvimento e teste, servidores Web e servidores de banco de dados menores.The general purpose virtual machine sizes are designed to provide balanced memory-to-vCore ratios for smaller entry level workloads such as development and test, web servers, and smaller database servers.

Por causa das taxas menores de memória para vCore com as máquinas virtuais de uso geral, é importante monitorar cuidadosamente os contadores de desempenho baseados em memória para garantir que SQL Server seja capaz de obter a memória cache de buffer de que precisa.Because of the smaller memory-to-vCore ratios with the general purpose virtual machines, it is important to carefully monitor memory-based performance counters to ensure SQL Server is able to get the buffer cache memory it needs. Consulte linha de base de desempenho de memória para obter mais informações.See memory performance baseline for more information.

Como a recomendação inicial para cargas de trabalho de produção é uma proporção de memória para vCore de 8, a configuração mínima recomendada para uma VM de uso geral em execução SQL Server é 4 vCPU e 32 GB de memória.Since the starting recommendation for production workloads is a memory-to-vCore ratio of 8, the minimum recommended configuration for a general purpose VM running SQL Server is 4 vCPU and 32 GB of memory.

Série Ddsv4Ddsv4 series

A série Ddsv4 oferece uma combinação justa de vCPU, memória e disco temporário, mas com suporte menor de memória para vCore.The Ddsv4-series offers a fair combination of vCPU, memory, and temporary disk but with smaller memory-to-vCore support.

As VMs Ddsv4 incluem menor latência e armazenamento local de velocidade mais alta.The Ddsv4 VMs include lower latency and higher-speed local storage.

Esses computadores são ideais para implantações de aplicativo e SQL lado a lado que exigem acesso rápido aos bancos de dados de armazenamento temporário e relacional departamental.These machines are ideal for side-by-side SQL and app deployments that require fast access to temp storage and departmental relational databases. Há uma proporção de memória para vCore padrão de 4 em todas as máquinas virtuais nesta série.There is a standard memory-to-vCore ratio of 4 across all of the virtual machines in this series.

Por esse motivo, é recomendável aproveitar o D8ds_v4 como a máquina virtual inicial nesta série, que tem 8 vCores e 32 GBs de memória.For this reason, it is recommended to leverage the D8ds_v4 as the starter virtual machine in this series, which has 8 vCores and 32 GBs of memory. O maior computador é o D64ds_v4, que tem 64 vCores e 256 GB de memória.The largest machine is the D64ds_v4, which has 64 vCores and 256 GBs of memory.

As máquinas virtuais da série Ddsv4 dão suporte ao armazenamento Premium e ao cache de armazenamento Premium.The Ddsv4-series virtual machines support premium storage and premium storage caching.

Observação

A série Ddsv4 não tem a proporção de memória para vCore de 8 que é recomendada para cargas de trabalho de SQL Server.The Ddsv4-series does not have the memory-to-vCore ratio of 8 that is recommended for SQL Server workloads. Como tal, considerando o uso dessas máquinas virtuais apenas para cargas de trabalho de desenvolvimento e aplicativos menores.As such, considering using these virtual machines for smaller application and development workloads only.

Série BB-series

Os tamanhos de máquina virtual da série B expansível são ideais para cargas de trabalho que não precisam de desempenho consistente, como prova de conceito e servidores de aplicativos e desenvolvimento muito pequenos.The burstable B-series virtual machine sizes are ideal for workloads that do not need consistent performance such as proof of concept and very small application and development servers.

A maioria dos tamanhos de máquina virtual da série B expansível tem uma proporção de memória para vCore de 4.Most of the burstable B-series virtual machine sizes have a memory-to-vCore ratio of 4. A maior dessas máquinas é a Standard_B20ms com 20 vCores e 80 GB de memória.The largest of these machines is the Standard_B20ms with 20 vCores and 80 GB of memory.

Esta série é exclusiva, pois os aplicativos têm a capacidade de aumentar durante o horário comercial com créditos intermitentes variados com base no tamanho da máquina.This series is unique as the apps have the ability to burst during business hours with burstable credits varying based on machine size.

Quando os créditos são esgotados, a VM retorna ao desempenho do computador de linha de base.When the credits are exhausted, the VM returns to the baseline machine performance.

O benefício da série B é a economia de computação que pode ser obtida em comparação com os outros tamanhos de VM em outras séries, especialmente se você precisar da capacidade de processamento de maneira moderada ao longo do dia.The benefit of the B-series is the compute savings you could achieve compared to the other VM sizes in other series especially if you need the processing power sparingly throughout the day.

Esta série dá suporte ao armazenamento Premium, mas não dá suporte ao cache de armazenamento Premium.This series supports premium storage, but does not support premium storage caching.

Observação

A série B expansível não tem a proporção de memória para vCore de 8 que é recomendada para cargas de trabalho de SQL Server.The burstable B-series does not have the memory-to-vCore ratio of 8 that is recommended for SQL Server workloads. Como tal, considere o uso dessas máquinas virtuais para aplicativos menores, servidores Web e cargas de trabalho de desenvolvimento.As such, consider using these virtual machines for smaller applications, web servers, and development workloads only.

Série Av2Av2-series

As VMs da série Av2 são mais adequadas para cargas de trabalho de nível de entrada, como desenvolvimento e teste, servidores Web de tráfego baixo, bancos de dados de aplicativos pequenos a médios e prova de conceito.The Av2-series VMs are best suited for entry-level workloads like development and test, low traffic web servers, small to medium app databases, and proof-of-concepts.

Somente o Standard_A2m_v2 (2 VCores e 16GBs de memória), Standard_A4m_v2 (4 vCores e 32 GB de memória) e o Standard_A8m_v2 (8 vCores e 64 GB de memória) têm uma taxa de memória para vCore maior de 8 para essas três principais máquinas virtuais.Only the Standard_A2m_v2 (2 vCores and 16GBs of memory), Standard_A4m_v2 (4 vCores and 32GBs of memory), and the Standard_A8m_v2 (8 vCores and 64GBs of memory) have a good memory-to-vCore ratio of 8 for these top three virtual machines.

Essas máquinas virtuais são boas opções para desenvolvimento e teste menores SQL Server computadores.These virtual machines are both good options for smaller development and test SQL Server machines.

A 8 vCore Standard_A8m_v2 também pode ser uma boa opção para aplicativos pequenos e servidores Web.The 8 vCore Standard_A8m_v2 may also be a good option for small application and web servers.

Observação

A série Av2 não dá suporte ao armazenamento Premium e, como tal, não é recomendada para produção SQL Server cargas de trabalho mesmo com as máquinas virtuais que têm uma proporção de memória para vCore de 8.The Av2 series does not support premium storage and as such, is not recommended for production SQL Server workloads even with the virtual machines that have a memory-to-vCore ratio of 8.

Otimizado para armazenamentoStorage optimized

Os tamanhos de VM otimizados para armazenamento são para casos de uso específicos.The storage optimized VM sizes are for specific use cases. Essas máquinas virtuais são projetadas especificamente com taxa de transferência e e/s de disco otimizadas.These virtual machines are specifically designed with optimized disk throughput and IO. Esta série de máquinas virtuais destina-se a cenários de Big Data, data warehouse e grandes bancos de dados transacionais.This virtual machine series is intended for big data scenarios, data warehousing, and large transactional databases.

Série Lsv2Lsv2-series

A série Lsv2 apresenta alta taxa de transferência, baixa latência e armazenamento de NVMe local.The Lsv2-series features high throughput, low latency, and local NVMe storage. As VMs da série Lsv2 são otimizadas para usar o disco local no nó anexado diretamente à VM em vez de usar discos de dados duráveis.The Lsv2-series VMs are optimized to use the local disk on the node attached directly to the VM rather than using durable data disks.

Essas máquinas virtuais são opções fortes para Big Data, data warehouse, relatórios e cargas de trabalho de ETL.These virtual machines are strong options for big data, data warehouse, reporting, and ETL workloads. A alta taxa de transferência e o IOPs do armazenamento de NVMe local são um bom caso de uso para o processamento de arquivos que serão carregados no banco de dados e outros cenários em que a fonte pode ser recriada a partir do sistema de origem ou de outros repositórios, como o armazenamento de BLOBs do Azure ou o Azure Data Lake.The high throughput and IOPs of the local NVMe storage is a good use case for processing files that will be loaded into your database and other scenarios where the source data can be recreated from the source system or other repositories such as Azure Blob storage or Azure Data Lake. Série Lsv2 As VMs também podem aumentar seu desempenho de disco por até 30 minutos por vez.Lsv2-series VMs can also burst their disk performance for up to 30 minutes at a time.

Essas máquinas virtuais têm o tamanho de 8 a 80 vCPU com 8 GiB de memória por vCPU e para cada 8 vCPUs há 1,92 TB de SSD de NVMe.These virtual machines size from 8 to 80 vCPU with 8 GiB of memory per vCPU and for every 8 vCPUs there is 1.92 TB of NVMe SSD. Isso significa que, para a maior VM desta série, o L80s_v2, há 80 vCPU e 640 chave de memória com 10 vezes 1.92 TB de armazenamento de NVMe.This means for the largest VM of this series, the L80s_v2, there is 80 vCPU and 640 BiB of memory with 10x1.92TB of NVMe storage. Há uma taxa consistente de memória para vCore de 8 em todas essas máquinas virtuais.There is a consistent memory-to-vCore ratio of 8 across all of these virtual machines.

O armazenamento NVMe é efêmero, o que significa que os dados serão perdidos nesses discos se você reiniciar a máquina virtual.The NVMe storage is ephemeral meaning that data will be lost on these disks if you restart your virtual machine.

A série Lsv2 e ls dá suporte ao armazenamento Premium, mas não ao armazenamento em cache Premium.The Lsv2 and Ls series support premium storage, but not premium storage caching. Não há suporte para a criação de um cache local para aumentar o IOPs.The creation of a local cache to increase IOPs is not supported.

Aviso

Armazenar seus arquivos de dados no armazenamento de NVMe efêmero pode resultar em perda de dados quando a VM é desalocada.Storing your data files on the ephemeral NVMe storage could result in data loss when the VM is deallocated.

VCores restritaConstrained vCores

O alto desempenho SQL Server cargas de trabalho geralmente precisam de quantidades maiores de memória, e/s e taxa de transferência sem as maiores contagens de vCore.High performing SQL Server workloads often need larger amounts of memory, IO, and throughput without the higher vCore counts.

A maioria das cargas de trabalho OLTP são bancos de dados de aplicativos controlados por um grande número de transações menores.Most OLTP workloads are application databases driven by large numbers of smaller transactions. Com cargas de trabalho OLTP, apenas uma pequena quantidade de dados é lida ou modificada, mas os volumes de transações controlados por contagens de usuários são muito maiores.With OLTP workloads, only a small amount of the data is read or modified, but the volumes of transactions driven by user counts are much higher. É importante ter a SQL Server memória disponível para os planos de cache, armazenar dados acessados recentemente para desempenho e garantir que as leituras físicas possam ser lidas na memória rapidamente.It is important to have the SQL Server memory available to cache plans, store recently accessed data for performance, and ensure physical reads can be read into memory quickly.

Esses ambientes OLTP precisam de mais quantidades de memória, armazenamento rápido e largura de banda de e/s necessárias para serem executados de forma ideal.These OLTP environments need higher amounts of memory, fast storage, and the I/O bandwidth necessary to perform optimally.

Para manter esse nível de desempenho sem os maiores custos de licenciamento SQL Server, o Azure oferece tamanhos de VM com contagens de vCPU restritas.In order to maintain this level of performance without the higher SQL Server licensing costs, Azure offers VM sizes with constrained vCPU counts.

Isso ajuda a controlar os custos de licenciamento, reduzindo o vCores disponível mantendo a mesma memória, armazenamento e largura de banda de e/s da máquina virtual pai.This helps control licensing costs by reducing the available vCores while maintaining the same memory, storage, and I/O bandwidth of the parent virtual machine.

A contagem de vCPU pode ser restrita a uma metade do tamanho original da VM.The vCPU count can be constrained to one-half to one-quarter of the original VM size. A redução do vCores disponível para a máquina virtual alcançará taxas de memória para vCore maiores.Reducing the vCores available to the virtual machine, will achieve higher memory-to-vCore ratios.

Esses novos tamanhos de VM têm um sufixo que especifica o número de vCPUs ativas para facilitar a identificação.These new VM sizes have a suffix that specifies the number of active vCPUs to make them easier to identify.

Por exemplo, o m64-32ms Standard requer somente licenciamento 32 SQL Server vCores com a memória, a e/s e a taxa de transferência de M64ms e m64-16ms requer licenciamento somente 16 vCores.For example, the M64-32ms requires licensing only 32 SQL Server vCores with the memory, IO, and throughput of the M64ms and the M64-16ms requires licensing only 16 vCores. Embora o m64-16ms tenha um trimestre do custo de licenciamento SQL Server do M64ms, o custo de computação da máquina virtual será o mesmo.Though while the M64-16ms has a quarter of the SQL Server licensing cost of the M64ms, the compute cost of the virtual machine will be the same.

Observação

  • Cargas de trabalho de média a grande data warehouse ainda podem se beneficiar de VMs vCore restritas, mas as cargas de trabalho de data warehouse geralmente são caracterizadas por menos usuários e processos que abordam quantidades maiores de dados por meio de planos de consulta executados em paralelo.Medium to large data warehouse workloads may still benefit from constrained vCore VMs, but data warehouse workloads are commonly characterized by fewer users and processes addressing larger amounts of data through query plans that run in parallel.
  • O custo de computação, que inclui o licenciamento do sistema operacional, permanecerá o mesmo que a máquina virtual pai.The compute cost, which includes operating system licensing, will remain the same as the parent virtual machine.

Orientação de armazenamentoStorage guidance

Para obter testes detalhados de desempenho de SQL Server em máquinas virtuais do Azure com benchmarks TPC-E e TPC-C, consulte o blog otimizar o desempenho do OLTP.For detailed testing of SQL Server performance on Azure Virtual Machines with TPC-E and TPC-C benchmarks, refer to the blog Optimize OLTP performance.

O cache do Blob do Azure com SSDs Premium é recomendado para todas as cargas de trabalho de produção.Azure blob cache with premium SSDs is recommended for all production workloads.

Aviso

Os SSDs e HDDs Standard têm largura de banda e latências variáveis e só são recomendado para cargas de trabalho de desenvolvimento e teste.Standard HDDs and SSDs have varying latencies and bandwidth and are only recommended for dev/test workloads. As cargas de trabalho de produção devem usar os SSDs Premium.Production workloads should use premium SSDs.

Além disso, recomendamos a criação de sua conta de armazenamento do Azure no mesmo data center que suas máquinas virtuais do SQL Server a fim de reduzir os atrasos de transferência.In addition, we recommend that you create your Azure storage account in the same data center as your SQL Server virtual machines to reduce transfer delays. Ao criar uma conta de armazenamento, desabilite a replicação geográfica, pois não há garantia para uma ordem de gravação consistente em vários discos.When creating a storage account, disable geo-replication as consistent write order across multiple disks is not guaranteed. Em vez disso, considere a configuração de uma tecnologia de recuperação de desastres do SQL Server entre dois data centers do Azure.Instead, consider configuring a SQL Server disaster recovery technology between two Azure data centers. Para saber mais, consulte Alta disponibilidade e recuperação de desastre para o SQL Server em máquinas virtuais do Azure.For more information, see High Availability and Disaster Recovery for SQL Server on Azure Virtual Machines.

Diretrizes de discosDisks guidance

Há três tipos de disco principais em máquinas virtuais do Azure:There are three main disk types on Azure virtual machines:

  • Disco do sistema operacional: quando você cria uma máquina virtual do Azure, a plataforma anexará pelo menos um disco (rotulado como a unidade C ) à VM para o disco do sistema operacional.OS disk: When you create an Azure virtual machine, the platform will attach at least one disk (labeled as the C drive) to the VM for your operating system disk. Cada disco é um VHD armazenado como um blob de páginas no armazenamento.This disk is a VHD stored as a page blob in storage.
  • Disco temporário: Máquinas virtuais do Azure contêm outro disco denominado disco temporário (rotulado como a unidade D:).Temporary disk: Azure virtual machines contain another disk called the temporary disk (labeled as the D: drive). É um disco localizado no nó que pode ser usado como espaço de rascunho.This is a disk on the node that can be used for scratch space.
  • Discos de dados: Você também pode anexar outros discos à sua máquina virtual como discos de dados, e eles serão armazenados no armazenamento como blobs de página.Data disks: You can also attach additional disks to your virtual machine as data disks, and these will be stored in storage as page blobs.

As seções a seguir descrevem as recomendações para usar esses diferentes discos.The following sections describe recommendations for using these different disks.

Disco do sistema operacionalOperating system disk

Um disco do sistema operacional é um VHD que você pode inicializar e montar como uma versão em execução de um sistema operacional e rotulado como a unidade C .An operating system disk is a VHD that you can boot and mount as a running version of an operating system and is labeled as the C drive.

A política padrão de caching no disco do sistema operacional é de Leitura/Gravação.Default caching policy on the operating system disk is Read/Write. Para aplicativos sensíveis ao desempenho, recomendamos o uso de discos de dados em vez do disco do sistema operacional.For performance sensitive applications, we recommend that you use data disks instead of the operating system disk. Consulte a seção sobre Discos de Dados abaixo.See the section on Data Disks below.

Disco temporárioTemporary disk

A unidade de armazenamento temporário, rotulada como a unidade D , não é persistida no armazenamento de BLOBs do Azure.The temporary storage drive, labeled as the D drive, is not persisted to Azure Blob storage. Não armazene seus arquivos de banco de dados do usuário ou arquivos de log de transações do usuário na unidade D:.Do not store your user database files or user transaction log files on the D: drive.

– Coloque o TempDB na unidade D:\ SSD local para cargas de trabalho do SQL Server críticas (depois de escolher o tamanho correto de VM).Place TempDB on the local SSD D:\ drive for mission critical SQL Server workloads (after choosing correct VM size). Se você criar a VM no portal do Azure ou nos modelos de início rápido do Azure e inserir o banco de informações temporário no disco local, você não precisará de nenhuma ação adicional; para todos os outros casos, siga as etapas no blog para usar o SSDs para armazenar o tempdb para evitar falhas após a reinicialização.If you create the VM from the Azure portal or Azure quickstart templates and place Temp DB on the Local Disk, then you do not need any further action; for all other cases follow the steps in the blog for Using SSDs to store TempDB to prevent failures after restarts. Se a capacidade da unidade local não for suficiente para o tamanho do TempDB, coloque o TempDB em um pool de armazenamento distribuído em discos SSD Premium com cache somente leitura.If the capacity of the local drive is not enough for your Temp DB size, then place Temp DB on a storage pool striped on premium SSD disks with read-only caching.

Para VMs que dão suporte a SSDs Premium, você também pode armazenar o TempDB em um disco compatível com SSDs Premium com o cache de leitura habilitado.For VMs that support premium SSDs, you can also store TempDB on a disk that supports premium SSDs with read caching enabled.

Discos de dadosData disks

  • Usar discos SSD Premium para dados e arquivos de log: Se você não estiver usando divisão de disco, use dois discos SSD Premium em que um disco contém os arquivos de log e o outro contém os dados.Use premium SSD disks for data and log files: If you are not using disk striping, use two premium SSD disks where one disk contains the log file and the other contains the data. Cada SSD Premium, dependendo do próprio tamanho, fornece um número de IOPS e largura de banda (MB/s), conforme descrito no artigo, Selecionar um tipo de disco.Each premium SSD provides a number of IOPS and bandwidth (MB/s) depending on its size, as depicted in the article, Select a disk type. Se você estiver usando uma técnica de distribuição de disco, como Espaços de Armazenamento, obterá o desempenho ideal tendo dois pools, um para os arquivos de log e outro para os arquivos de dados.If you are using a disk striping technique, such as Storage Spaces, you achieve optimal performance by having two pools, one for the log file(s) and the other for the data files. No entanto, se você planeja usar FCIs (instâncias de cluster de failover) do SQL Server, precisa configurar um pool ou usar compartilhamentos de arquivo Premium.However, if you plan to use SQL Server failover cluster instances (FCI), you must configure one pool, or utilize premium file shares instead.

    Dica

    Observação

    Quando você provisiona uma VM do SQL Server no portal, tem a opção de editar sua configuração de armazenamento.When you provision a SQL Server VM in the portal, you have the option of editing your storage configuration. Dependendo de sua configuração, o Azure configura um ou mais discos.Depending on your configuration, Azure configures one or more disks. Vários discos são combinados em um único pool de armazenamento com distribuição.Multiple disks are combined into a single storage pool with striping. Tanto os dados quanto os arquivos de log residem juntos nessa configuração.Both the data and log files reside together in this configuration. Para saber mais, confira Configuração de armazenamento para VMs do SQL Server.For more information, see Storage configuration for SQL Server VMs.

  • Distribuição de disco: para obter mais taxa de transferência, você pode adicionar mais discos de dados e usar a distribuição de disco.Disk striping: For more throughput, you can add additional data disks and use disk striping. Para determinar o número de discos de dados, você precisa analisar o número de IOPS e a largura de banda necessários para os arquivos de log e para os arquivos de dados e do TempDB.To determine the number of data disks, you need to analyze the number of IOPS and bandwidth required for your log file(s), and for your data and TempDB file(s). Observe que diferentes tamanhos de VM têm diferentes limites no número de IOPS e na largura de banda com suporte; consulte as tabelas sobre IOPS por tamanho de VM.Notice that different VM sizes have different limits on the number of IOPs and bandwidth supported, see the tables on IOPS per VM size. Use as seguintes diretrizes:Use the following guidelines:

    • Para Windows 8/Windows Server 2012 ou posterior, use os Espaços de Armazenamento com as seguintes diretrizes:For Windows 8/Windows Server 2012 or later, use Storage Spaces with the following guidelines:

      1. Defina a intercalação (tamanho de faixa) como 64 KB (65.536 bytes) para cargas de trabalho OLTP e 256 KB (262.144 bytes) para cargas de trabalho de data warehouse, a fim de evitar o impacto no desempenho devido ao desalinhamento da partição.Set the interleave (stripe size) to 64 KB (65,536 bytes) for OLTP workloads and 256 KB (262,144 bytes) for data warehousing workloads to avoid performance impact due to partition misalignment. Isso deve ser definido com o PowerShell.This must be set with PowerShell.
      2. Defina a contagem de colunas = número de discos físicos.Set column count = number of physical disks. Use o PowerShell ao configurar mais de 8 discos (não interface do usuário do Gerenciador do Servidor).Use PowerShell when configuring more than 8 disks (not Server Manager UI).

      Por exemplo, o PowerShell a seguir cria um novo pool de armazenamento com o tamanho de intercalação para 64 KB e o número de colunas igual à quantidade de disco físico no pool de armazenamento:For example, the following PowerShell creates a new storage pool with the interleave size to 64 KB and the number of columns equal to the amount of physical disk in the storage pool:

      $PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
      
      New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Storage Spaces*" `
          -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 
      
    • Para o Windows 2008 R2 ou anterior, é possível usar discos dinâmicos (volumes de SO distribuídos) e o tamanho da faixa será sempre 64 KB.For Windows 2008 R2 or earlier, you can use dynamic disks (OS striped volumes) and the stripe size is always 64 KB. Essa opção tornou-se preterida no Windows 8/Windows Server 2012.This option is deprecated as of Windows 8/Windows Server 2012. Para obter informações, veja a declaração de suporte em O Serviço de Disco Virtual está em transição para a API de Gerenciamento de Armazenamento do Windows.For information, see the support statement at Virtual Disk Service is transitioning to Windows Storage Management API.

    • Se você estiver usando Espaços de Armazenamento Diretos (S2D) com Instâncias de Cluster de Failover do SQL Server, será necessário configurar um único pool.If you are using Storage Spaces Direct (S2D) with SQL Server Failover Cluster Instances, you must configure a single pool. Embora diferentes volumes possam ser criados nesse único pool, todos eles compartilharão as mesmas características, como a mesma política de cache.Although different volumes can be created on that single pool, they will all share the same characteristics, such as the same caching policy.

    • Determine o número de discos associados ao seu pool de armazenamento com base nas suas expectativas de carga.Determine the number of disks associated with your storage pool based on your load expectations. Tenha em mente que tamanhos de VM diferentes permitem quantidades diferentes de discos de dados anexados.Keep in mind that different VM sizes allow different numbers of attached data disks. Para obter mais informações, consulte tamanhos das máquinas virtuais.For more information, see Sizes for virtual machines.

    • Se você não estiver usando o SSDs Premium (cenários de desenvolvimento/teste), a recomendação é adicionar o número máximo de discos de dados com suporte pelo tamanho da VM e usar a distribuição de disco.If you are not using premium SSDs (dev/test scenarios), the recommendation is to add the maximum number of data disks supported by your VM size and use disk striping.

  • Política de cache: Observe as recomendações a seguir para a política de cache, dependendo da configuração de armazenamento.Caching policy: Note the following recommendations for caching policy depending on your storage configuration.

    • Se você estiver usando discos separados para dados e arquivos de log, habilite o cache de leitura nos discos de dados que hospedam os arquivos de dados e arquivos de dados do TempDB.If you are using separate disks for data and log files, enable read caching on the data disks hosting your data files and TempDB data files. Isso pode resultar em um benefício de desempenho significativo.This can result in a significant performance benefit. Não habilite o cache no disco que contém o arquivo de log, pois isso causa uma pequena diminuição no desempenho.Do not enable caching on the disk holding the log file as this causes a minor decrease in performance.

    • Se você estiver usando a distribuição de disco em um único pool de armazenamento, a maioria das cargas de trabalho se beneficiará do cache de leitura.If you are using disk striping in a single storage pool, most workloads will benefit from read caching. Se você tiver pools de armazenamento separados para os arquivos de log e de dados, habilite o cache de leitura apenas no pool de armazenamento para os arquivos de dados.If you have separate storage pools for the log and data files, enable read caching only on the storage pool for the data files. Em determinadas cargas de trabalho de gravação pesada, um melhor desempenho pode ser obtido sem o cache.In certain heavy write workloads, better performance might be achieved with no caching. Isso somente pode ser determinado por meio de testes.This can only be determined through testing.

    • As recomendações anteriores aplicam-se aos SSDs Premium.The previous recommendations apply to premium SSDs. Se você não estiver usando os SSDs Premium, não habilite o caching em discos de dados.If you are not using premium SSDs, do not enable any caching on any data disks.

    • Para obter instruções sobre como configurar o cache de disco, consulte os artigos a seguir.For instructions on configuring disk caching, see the following articles. Para o modelo de implantação clássico (ASM), confira: Set-AzureOSDisk e Set-AzureDataDisk.For the classic (ASM) deployment model see: Set-AzureOSDisk and Set-AzureDataDisk. Para o modelo de implantação do Azure Resource Manager, confira: Set-AzOSDisk e Set-AzVMDataDisk.For the Azure Resource Manager deployment model, see: Set-AzOSDisk and Set-AzVMDataDisk.

      Aviso

      Pare o serviço de SQL Server ao alterar a configuração de cache de discos de máquinas virtuais do Azure para evitar a possibilidade de qualquer corrupção de banco de dados.Stop the SQL Server service when changing the cache setting of Azure Virtual Machines disks to avoid the possibility of any database corruption.

  • Tamanho da unidade de alocação de NTFS: Ao formatar o disco de dados, recomendamos o uso de um tamanho de unidade de alocação de 64 KB para arquivos de dados e de log e também para o TempDB.NTFS allocation unit size: When formatting the data disk, it is recommended that you use a 64-KB allocation unit size for data and log files as well as TempDB. Se o TempDB for colocado no disco temporário (D:\ ) o desempenho obtido aproveitando essa unidade supera a necessidade de um tamanho de unidade de alocação de 64 KB.If TempDB is placed on the temporary disk (D:\ drive) the performance gained by leveraging this drive outweighs the need for a 64-KB allocation unit size.

  • Práticas recomendadas de gerenciamento de disco: Ao remover um disco de dados ou alterar seu tipo de cache, interrompa o serviço SQL Server durante a alteração.Disk management best practices: When removing a data disk or changing its cache type, stop the SQL Server service during the change. Quando as configurações do cache são alteradas no disco do SO, o Azure interrompe a VM, altera o tipo de cache e reinicia a VM.When the caching settings are changed on the OS disk, Azure stops the VM, changes the cache type, and restarts the VM. Quando as configurações do cache de um disco de dados são alteradas, a VM não é interrompida, mas o disco de dados é desanexado da VM durante a mudança e depois reanexado.When the cache settings of a data disk are changed, the VM is not stopped, but the data disk is detached from the VM during the change and then reattached.

    Aviso

    A não interrupção do serviço SQL Server durante essas operações pode causar corrupção no banco de dados.Failure to stop the SQL Server service during these operations can cause database corruption.

Diretrizes de E/SI/O guidance

  • Os melhores resultados com os SSDs Premium são obtidos ao paralelizar seu aplicativo e as solicitações.The best results with premium SSDs are achieved when you parallelize your application and requests. Os SSDs Premium foram projetados para cenários nos quais a profundidade da fila de E/S é maior do que um. Portanto, você verá pouco ou nenhum ganho de desempenho para solicitações em série de segmento único (mesmo se usarem muito armazenamento).Premium SSDs are designed for scenarios where the IO queue depth is greater than 1, so you will see little or no performance gains for single-threaded serial requests (even if they are storage intensive). Por exemplo, isso pode afetar os resultados do teste de segmento único de ferramentas de análise de desempenho, por exemplo, o SQLIO.For example, this could impact the single-threaded test results of performance analysis tools, such as SQLIO.

  • Considere o uso da compactação de página do banco de dados , pois isso pode ajudar a melhorar o desempenho de cargas de trabalho com uso intenso de E/S.Consider using database page compression as it can help improve performance of I/O intensive workloads. No entanto, a compactação de dados pode aumentar o consumo de CPU no servidor de banco de dados.However, the data compression might increase the CPU consumption on the database server.

  • Considere a habilitação da inicialização instantânea de arquivo a fim de reduzir o tempo necessário para alocação inicial do arquivo.Consider enabling instant file initialization to reduce the time that is required for initial file allocation. Para aproveitar a inicialização instantânea de arquivo, conceda a SE_MANAGE_VOLUME_NAME à conta de serviço do SQL Server (MSSQLSERVER) e adicione-a à política de segurança Executar Tarefas de Manutenção de Volume.To take advantage of instant file initialization, you grant the SQL Server (MSSQLSERVER) service account with SE_MANAGE_VOLUME_NAME and add it to the Perform Volume Maintenance Tasks security policy. Se você estiver usando uma imagem da plataforma do SQL Server para o Azure, a conta de serviço padrão (NT Service\MSSQLSERVER) não será adicionada à política de segurança Executar Tarefas de Manutenção de volume.If you are using a SQL Server platform image for Azure, the default service account (NT Service\MSSQLSERVER) isn’t added to the Perform Volume Maintenance Tasks security policy. Em outras palavras, a inicialização instantânea de arquivo não está habilitada em uma imagem de plataforma do SQL Server do Azure.In other words, instant file initialization is not enabled in a SQL Server Azure platform image. Depois de adicionar a conta de serviço do SQL Server à política de segurança Executar Tarefas de Manutenção de Volume , reinicie o serviço do SQL Server.After adding the SQL Server service account to the Perform Volume Maintenance Tasks security policy, restart the SQL Server service. Talvez existam considerações de segurança sobre a utilização desse recurso.There could be security considerations for using this feature. Para obter mais informações, consulte Inicialização de arquivos de bancos de dados.For more information, see Database File Initialization.

  • Lembre-se de que o crescimento automático é considerado meramente uma contingência para um crescimento inesperado.Be aware that autogrow is considered to be merely a contingency for unexpected growth. Não gerencie diariamente o crescimento de seus dados e do log com o crescimento automático.Do not manage your data and log growth on a day-to-day basis with autogrow. Se o crescimento automático for usado, aumente previamente o arquivo usando a opção Tamanho.If autogrow is used, pre-grow the file using the Size switch.

  • Verifique se a redução automática está desabilitada a fim de evitar uma sobrecarga desnecessária que pode afetar negativamente o desempenho.Make sure autoshrink is disabled to avoid unnecessary overhead that can negatively affect performance.

  • Mova todos os bancos de dados para discos de dados, incluindo bancos de dados do sistema.Move all databases to data disks, including system databases. Para obter mais informações, veja Mover bancos de dados do sistema.For more information, see Move System Databases.

  • Mova o log de erros do SQL Server e os diretórios de arquivos de rastreamento para discos de dadosMove SQL Server error log and trace file directories to data disks. Isso pode ser feito no SQL Server Configuration Manager clicando duas vezes na Instância do SQL Server e selecionando Propriedades.This can be done in SQL Server Configuration Manager by right-clicking your SQL Server instance and selecting properties. As configurações do arquivo de rastreamento e do log de erros podem ser alteradas na guia Parâmetros de Inicialização. O Diretório de Despejo é especificado na guia Avançado. A captura de tela a seguir mostra onde procurar o parâmetro de inicialização do log de erro.The error log and trace file settings can be changed in the Startup Parameters tab. The Dump Directory is specified in the Advanced tab. The following screenshot shows where to look for the error log startup parameter.

    Captura de Tela de Log de Erros do SQL

  • Configure os locais de arquivo de banco de dados e backup padrão.Set up default backup and database file locations. Use as recomendações neste artigo e faça as alterações na janela de propriedades do Servidor.Use the recommendations in this article, and make the changes in the Server properties window. Para obter instruções, confira Exibir ou alterar os locais padrão de arquivos de log e de dados (SQL Server Management Studio).For instructions, see View or Change the Default Locations for Data and Log Files (SQL Server Management Studio). A captura de tela a seguir demonstra onde fazer essas alterações.The following screenshot demonstrates where to make these changes.

    Log de Dados de SQL e Arquivos de Backup

  • Estabeleça páginas bloqueadas a fim de reduzir a ES e quaisquer atividades de paginação.Enable locked pages to reduce IO and any paging activities. Para saber mais, confira Habilitar a opção Bloquear Páginas na Memória (Windows).For more information, see Enable the Lock Pages in Memory Option (Windows).

  • Se você estiver executando o SQL Server 2012, instale a Atualização Cumulativa 10 do Service Pack 1.If you are running SQL Server 2012, install Service Pack 1 Cumulative Update 10. Essa atualização contém a correção para o desempenho ruim de E/S ao executar a instrução seleção na tabela temporária no SQL Server 2012.This update contains the fix for poor performance on I/O when you execute select into temporary table statement in SQL Server 2012. Para obter informações, consulte este artigo da base de dados de conhecimento.For information, see this knowledge base article.

  • Considere a compactação de qualquer arquivo de dados durante a transferência de entrada/saída do Azure.Consider compressing any data files when transferring in/out of Azure.

Diretriz específica do recursoFeature-specific guidance

Algumas implantações podem obter outros benefícios de desempenho usando técnicas mais avançadas de configuração.Some deployments may achieve additional performance benefits using more advanced configuration techniques. A lista a seguir destaca alguns recursos do SQL Server que podem ajudá-lo a obter um desempenho maior:The following list highlights some SQL Server features that can help you to achieve better performance:

Fazer backup no Armazenamento do AzureBack up to Azure Storage

Ao executar backups para SQL Server em execução em máquinas virtuais do Azure, você pode usar SQL Server Backup para URL.When performing backups for SQL Server running in Azure Virtual Machines, you can use SQL Server Backup to URL. Esse recurso foi disponibilizado a partir do SQL Server 2012 SP1 CU2 e é recomendado para fazer o backup em discos de dados anexados.This feature is available starting with SQL Server 2012 SP1 CU2 and recommended for backing up to the attached data disks. Quando você faz backup/restauração de/para o armazenamento do Azure, siga as recomendações fornecidas em SQL Server Backup em URL práticas recomendadas e solução de problemas e restauração de backups armazenados no armazenamento do Azure.When you backup/restore to/from Azure Storage, follow the recommendations provided at SQL Server Backup to URL Best Practices and Troubleshooting and Restoring from Backups Stored in Azure Storage. Você também pode automatizar esses backups usando o backup automatizado para SQL Server em máquinas virtuais do Azure.You can also automate these backups using Automated Backup for SQL Server on Azure Virtual Machines.

Antes do SQL Server 2012, use a Ferramenta de backup do SQL Server para o Azure.Prior to SQL Server 2012, you can use SQL Server Backup to Azure Tool. Essa ferramenta pode ajudar a aumentar a taxa de transferência do backup utilizando vários alvos de distribuição de backup.This tool can help to increase backup throughput using multiple backup stripe targets.

Arquivos de dados do SQL Server no AzureSQL Server Data Files in Azure

Este recurso novo, Arquivos de dados do SQL Server no Azure, está disponível desde o SQL Server 2014.This new feature, SQL Server Data Files in Azure, is available starting with SQL Server 2014. A execução do SQL Server com os arquivos de dados no Azure demonstra características de desempenho comparáveis as dos discos de dados do Azure.Running SQL Server with data files in Azure demonstrates comparable performance characteristics as using Azure data disks.

Espaços de Armazenamento de instância de cluster de failoverFailover cluster instance and Storage Spaces

Se você estiver usando espaços de armazenamento, ao adicionar nós ao cluster na página de confirmação , desmarque a caixa de seleção rotulada Adicionar todo o armazenamento elegível ao cluster.If you are using Storage Spaces, when adding nodes to the cluster on the Confirmation page, clear the check box labeled Add all eligible storage to the cluster.

Desmarcar o armazenamento qualificado

Se você estiver usando Espaços de Armazenamento e não desmarcar Adicionar todo o armazenamento qualificado ao cluster, o Windows desconectará os discos virtuais durante o processo de clustering.If you are using Storage Spaces and do not uncheck Add all eligible storage to the cluster, Windows detaches the virtual disks during the clustering process. Como resultado, eles não aparecem no Gerenciador ou Explorador de Discos até que os espaços de armazenamento sejam removidos do cluster e reanexados usando o PowerShell.As a result, they do not appear in Disk Manager or Explorer until the storage spaces are removed from the cluster and reattached using PowerShell. Espaços de Armazenamento agrupam vários discos em pools de armazenamento.Storage Spaces groups multiple disks in to storage pools. Para obter mais informações, consulte Espaços de Armazenamento.For more information, see Storage Spaces.

Várias instânciasMultiple instances

Considere as seguintes práticas recomendadas ao implantar várias instâncias de SQL Server em uma única máquina virtual:Consider the following best practices when deploying multiple SQL Server instances to a single virtual machine:

  • Defina a memória máxima do servidor para cada instância de SQL Server, garantindo que haja memória restante para o sistema operacional.Set the max server memory for each SQL Server instance, ensuring there is memory left over for the operating system. Certifique-se de atualizar as restrições de memória para as instâncias de SQL Server se você alterar a quantidade de memória alocada para a máquina virtual.Be sure to update the memory restrictions for the SQL Server instances if you change how much memory is allocated to the virtual machine.
  • Ter LUNs separados para dados, logs e TempDB, pois todos têm padrões de carga de trabalho diferentes e você não deseja que eles afetem uns aos outros.Have separate LUNs for data, logs, and TempDB since they all have different workload patterns and you do not want them impacting each other.
  • Teste exaustivamente seu ambiente em cargas de trabalho pesadas de produção para garantir que ele possa lidar com a capacidade de carga de trabalho de pico nos SLAs de seu aplicativo.Thoroughly test your environment under heavy production-like workloads to ensure it can handle peak workload capacity within your application SLAs.

Os sinais de sistemas sobrecarregados podem incluir, mas não se limitam a, esgotamento de thread de trabalho, tempos de resposta lentos e/ou memória do sistema do Dispatcher paralisado.Signs of overloaded systems can include, but are not limited to, worker thread exhaustion, slow response times, and/or stalled dispatcher system memory.

Coletar linha de base de desempenhoCollect performance baseline

Para obter uma abordagem mais prescritiva, reúna contadores de desempenho usando PerfMon/LogMan e Capture SQL Server estatísticas de espera para entender melhor as pressões gerais e os gargalos potenciais do ambiente de origem.For a more prescriptive approach, gather performance counters using PerfMon/LogMan and capture SQL Server wait statistics to better understand general pressures and potential bottlenecks of the source environment.

Comece coletando a CPU, a memória, o IOPS, a taxa de transferênciae a latência da carga de trabalho de origem em horários de pico após a lista de verificação de desempenho do aplicativo.Start by collecting the CPU, memory, IOPS, throughput, and latency of the source workload at peak times following the application performance checklist.

Reúna dados durante horários de pico, como cargas de trabalho durante o dia útil normal, mas também outros processos de carga alta, como processamento de fim de dia e cargas de trabalho ETL de fim de semana.Gather data during peak hours such as workloads during your typical business day, but also other high load processes such as end-of-day processing, and weekend ETL workloads. Considere a possibilidade de escalar verticalmente seus recursos para cargas de trabalho pesadas do atypically, como o processamento do fim do trimestre, e depois o dimensionamento feito após a conclusão da carga de trabalho.Consider scaling up your resources for atypically heavily workloads, such as end-of-quarter processing, and then scale done once the workload completes.

Use a análise de desempenho para selecionar o tamanho da VM que pode ser dimensionado para os requisitos de desempenho da carga de trabalho.Use the performance analysis to select the VM Size that can scale to your workload's performance requirements.

IOPS e taxa de transferênciaIOPS and Throughput

SQL Server desempenho depende muito do subsistema de e/s.SQL Server performance depends heavily on the I/O subsystem. A menos que seu banco de dados caiba na memória física, SQL Server constantemente leva as páginas do banco de dados para dentro e para fora do pool de buffers.Unless your database fits into physical memory, SQL Server constantly brings database pages in and out of the buffer pool. Os arquivos de dados para SQL Server devem ser tratados de forma diferente.The data files for SQL Server should be treated differently. O acesso a arquivos de log é seqüencial, exceto quando uma transação precisa ser revertida onde os arquivos de dados, incluindo TempDB, são acessados aleatoriamente.Access to log files is sequential except when a transaction needs to be rolled back where data files, including TempDB, are randomly accessed. Se você tiver um subsistema de e/s lento, os usuários poderão enfrentar problemas de desempenho, como tempos de resposta lentos e tarefas que não são concluídas devido a tempos limite.If you have a slow I/O subsystem, your users may experience performance issues such as slow response times and tasks that do not complete due to time-outs.

As máquinas virtuais do Azure Marketplace têm arquivos de log em um disco físico separado dos arquivos de dados por padrão.The Azure Marketplace virtual machines have log files on a physical disk that is separate from the data files by default. A contagem e o tamanho dos arquivos de dados do TempDB atendem às práticas recomendadas e são direcionadas para a D:/ Dirigir..The TempDB data files count and size meet best practices and are targeted to the ephemeral D:/ drive..

Os contadores PerfMon a seguir podem ajudar a validar a taxa de transferência de e/s exigida por seu SQL Server:The following PerfMon counters can help validate the IO throughput required by your SQL Server:

  • Leituras de \LogicalDisk\Disk/s (IOPS de leitura e gravação)\LogicalDisk\Disk Reads/Sec (read and write IOPS)
  • Gravações de \LogicalDisk\Disk/s (IOPS de leitura e gravação)\LogicalDisk\Disk Writes/Sec (read and write IOPS)
  • \LogicalDisk\Disk bytes/s (requisitos de taxa de transferência para os arquivos de dados, log e tempdb)\LogicalDisk\Disk Bytes/Sec (throughput requirements for the data, log, and TempDB files)

Usando requisitos de IOPS e taxa de transferência em níveis de pico, avalie os tamanhos de VM que correspondem à capacidade de suas medições.Using IOPS and throughput requirements at peak levels, evaluate VM sizes that match the capacity from your measurements.

Se sua carga de trabalho exigir 20 K de IOPS de leitura e IOPS de gravação de 10K, você poderá escolher E16s_v3 (com até 20 k de 32 K armazenados em cache e 25600 IOPS não armazenado em cache) ou M16_s (com até vinte mil em cache e 10K IOPS não armazenados em cache) com 2 discos p30 distribuídos usando espaços de armazenamento.If your workload requires 20 K read IOPS and 10K write IOPS, you can either choose E16s_v3 (with up to 32 K cached and 25600 uncached IOPS) or M16_s (with up to 20 K cached and 10K uncached IOPS) with 2 P30 disks striped using Storage Spaces.

Certifique-se de entender os requisitos de taxa de transferência e IOPS da carga de trabalho, pois as VMs têm limites de escala diferentes para IOPS e taxa de transferência.Make sure to understand both throughput and IOPS requirements of the workload as VMs have different scale limits for IOPS and throughput.

MemóriaMemory

Acompanhe a memória externa usada pelo sistema operacional, bem como a memória usada internamente pelo SQL Server.Track both external memory used by the OS as well as the memory used internally by SQL Server. A identificação da pressão para qualquer componente ajudará a dimensionar as máquinas virtuais e a identificar as oportunidades de ajuste.Identifying pressure for either component will help size virtual machines and identify opportunities for tuning.

Os contadores PerfMon a seguir podem ajudar a validar a integridade da memória de uma máquina virtual SQL Server:The following PerfMon counters can help validate the memory health of a SQL Server virtual machine:

Computação/processamentoCompute / Processing

A computação no Azure é gerenciada de maneira diferente do local.Compute in Azure is managed differently than on-premises. Os servidores locais são criados nos últimos anos, sem uma atualização devido à sobrecarga de gerenciamento e ao custo de aquisição de novo hardware.On-premises servers are built to last several years without an upgrade due to the management overhead and cost of acquiring new hardware. A virtualização atenua alguns desses problemas, mas os aplicativos são otimizados para aproveitar ao máximo o hardware subjacente, o que significa que qualquer alteração significativa no consumo de recursos requer o rebalanceamento de todo o ambiente físico.Virtualization mitigates some of these issues but applications are optimized to take the most advantage of the underlying hardware, meaning any significant change to resource consumption requires rebalancing the entire physical environment.

Isso não é um desafio no Azure, em que uma nova máquina virtual em uma série diferente de hardware, e até mesmo em uma região diferente, é fácil de alcançar.This is not a challenge in Azure where a new virtual machine on a different series of hardware, and even in a different region, is easy to achieve.

No Azure, você deseja aproveitar o máximo possível dos recursos de máquinas virtuais, portanto, as máquinas virtuais do Azure devem ser configuradas para manter a média de CPU máxima, sem afetar a carga de trabalho.In Azure, you want to take advantage of as much of the virtual machines resources as possible, therefore, Azure virtual machines should be configured to keep the average CPU as high as possible without impacting the workload.

Os contadores PerfMon a seguir podem ajudar a validar a integridade de computação de uma máquina virtual SQL Server:The following PerfMon counters can help validate the compute health of a SQL Server virtual machine:

  • Tempo de processador de informações de \Processor (_Total) %\Processor Information(_Total)% Processor Time
  • \Process (sqlservr) % tempo do processador\Process(sqlservr)% Processor Time

Observação

Idealmente, tente visar o uso de 80% de sua computação, com picos acima de 90%, mas não atingindo 100% por um período de tempo prolongado.Ideally, try to aim for using 80% of your compute, with peaks above 90% but not reaching 100% for any sustained period of time. Fundamentalmente, você só deseja provisionar a computação de que o aplicativo precisa e, em seguida, planejar para escalar ou reduzir verticalmente conforme a necessidade dos negócios.Fundamentally, you only want to provision the compute the application needs and then plan to scale up or down as the business requires.

Próximas etapasNext steps

Para obter as práticas recomendadas de segurança, consulte considerações de segurança para SQL Server em máquinas virtuais do Azure.For security best practices, see Security considerations for SQL Server on Azure Virtual Machines.

Revise outros artigos sobre Máquinas Virtuais do SQL Server em Visão geral do SQL Server nas Máquinas Virtuais do Azure.Review other SQL Server Virtual Machine articles at SQL Server on Azure Virtual Machines Overview. Em caso de dúvidas sobre máquinas virtuais do SQL Server, consulte as Perguntas frequentes.If you have questions about SQL Server virtual machines, see the Frequently Asked Questions.