Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Instância Gerenciada de SQL do Azure é um mecanismo de banco de dados paaS (plataforma como serviço) totalmente gerenciado que fornece compatibilidade quase completa com o SQL Server Enterprise Edition mais recente. Ele combina um modelo de implantação com escopo de instância com rede nativa de rede virtual, fornecendo amplo suporte a recursos do SQL Server juntamente com as vantagens operacionais de uma plataforma gerenciada. A Instância Gerenciada de SQL se destina a cargas de trabalho do SQL Server que dependem de recursos com escopo de instância, como consultas entre bancos de dados, SQL Server Agent, Service Broker e integração CLR (Common Language Runtime).
Este artigo pressupõe que, como arquiteto, você revisou a árvore de decisão do armazenamento de dados e escolheu a Instância Gerenciada de SQL do Azure como o mecanismo de banco de dados para sua carga de trabalho.
As diretrizes neste artigo fornecem recomendações arquitetônicas mapeadas para os princípios dos pilares da Estrutura Well-Architected.
Escopo da tecnologia
Esta revisão se concentra nas decisões interrelacionadas para os seguintes recursos de Azure:
- Instância Gerenciada de SQL do Azure
Observação
Este guia de serviço se baseia em diretrizes no guia de serviço do Banco de Dados SQL do Azure. A Instância Gerenciada de SQL compartilha o mecanismo de banco de dados do SQL Server com o Banco de Dados SQL, mas usa um modelo de implantação com escopo de instância com funcionalidades distintas de arquitetura, rede e recursos. Examine o guia do Banco de Dados SQL para obter diretrizes de plataforma compartilhada. Este guia se concentra em recursos específicos da Instância Gerenciada de SQL e considerações de arquitetura.
Fiabilidade
A finalidade do pilar confiabilidade é fornecer funcionalidade contínua criando resiliência suficiente e a capacidade de se recuperar rapidamente de falhas.
princípios de design de confiabilidade fornecem uma estratégia de design de alto nível aplicada a componentes individuais, fluxos do sistema e o sistema como um todo.
Lista de verificação de design de carga de trabalho
Inicie sua estratégia de design com base na lista de verificação de design para Confiabilidade. Determine sua relevância para seus requisitos de negócios, tendo em mente a natureza do seu aplicativo e a criticidade de seus componentes. Estenda a estratégia para incluir mais abordagens conforme necessário.
Examine cotas, limites e problemas conhecidos da Instância Gerenciada de SQL: A Instância Gerenciada de SQL impõe limites de implantação regionais, contagens de banco de dados e tetos de armazenamento que variam de acordo com o tipo e a camada de assinatura. Implantações de nível superior consomem mais cota de vCore, o que restringe o planejamento de capacidade regional.
- Considere problemas conhecidos que afetam grupos de failover, o comportamento do backup durante o uso do link de replicação e restrições de migração de versões mais antigas do SQL Server. Examine essas limitações durante o design inicial para evitar restrições que você não pode corrigir facilmente mais tarde.
Prever possíveis falhas: Use a análise do modo de falha para prever falhas e planejar mitigações para a Instância Gerenciada de SQL.
Failure Atenuação As operações de gerenciamento levam horas e bloqueiam outras operações na instância ou na sub-rede Planeje operações de dimensionamento durante as janelas de manutenção. Evite operações de gerenciamento simultâneas e contabilize as durações de várias horas nos planos de recuperação. A propagação inicial de um grupo de failover pode acabar devido a links de rede lentos ou grandes tamanhos de banco de dados Use o emparelhamento de rede virtual global para obter a maior largura de banda. Monitore o progresso da propagação e planeje a duração com base no tamanho do banco de dados e na velocidade do link. As operações de gerenciamento em uma instância em uma sub-rede podem bloquear ou atrasar operações em outras instâncias que compartilham o mesmo cluster virtual Isole as instâncias de produção em sub-redes dedicadas para evitar a interferência cruzada de operações realizadas em instâncias de desenvolvimento ou teste. Criar redundância por meio da distribuição de zona e da seleção de camada apropriada: Use a redundância de zona e a seleção de camada apropriada para eliminar pontos únicos de falha em uma região.
Ative a redundância no nível da zona para distribuir réplicas entre as zonas de disponibilidade. A arquitetura e a qualificação diferem por camada e configuração de implantação.
Avalie os efeitos de redundância sobre o desempenho e os serviços dependentes, incluindo latência entre zonas em cargas de trabalho OLTP (processamento de transações online) e alinhamento do armazenamento de backup com implantações com redundância de zona.
Planeje o dimensionamento em torno dos tempos de entrega da operação de gerenciamento: As operações de gerenciamento levam horas em vez de minutos, o que requer uma abordagem diferente para dimensionar a estratégia e o planejamento de capacidade.
Prevejo cronogramas estendidos para a criação da primeira sub-rede, o que leva significativamente mais tempo devido ao provisionamento de cluster virtual. Operações concorrentes são enfileiradas sequencialmente dentro de uma sub-rede.
Dimensionar sub-redes com margem para expansão futura. Sub-redes subdimensionadas restringem o crescimento e as gerações mistas de hardware criam clusters virtuais separados que consomem endereços IP extras.
Pré-provisionar instâncias em espera quando você precisar de tempos de resposta rigorosos para escalabilidade. Isole cargas de trabalho de produção em sub-redes dedicadas para impedir bloqueios operacionais entre instâncias.
Configure o monitoramento e alertas para o status de integridade e replicação por exemplo: Priorize alertas nas métricas que sinalizam os riscos de confiabilidade antecipadamente. Acompanhe a disponibilidade da instância por meio de eventos do Resource Health, monitore as transições de status da operação de gerenciamento por meio de um log de atividades e verifique a conclusão do backup automatizado regularmente, pois falhas de backup podem surgir silenciosamente quando o armazenamento enche ou ocorrem problemas de DNS. Para instâncias configuradas com grupos de failover, emita alertas sobre o atraso de replicação conforme os limites do RPO (objetivo de ponto de recuperação) para detectar descompasso de replicação geográfica antes que cause uma exposição inaceitável à perda de dados.
As transições de status do grupo de failover revelam interrupções antes que se transformem em lacunas de recuperação.
Implementar a resiliência de conexão e técnicas de autopreservação: Desenvolva resiliência a nível de aplicativo para lidar com falhas transitórias decorrentes de manutenção planejada, failovers e eventos de mudança de função de DNS.
Adicione lógica de repetição com retirada exponencial que contabiliza durações reais de failover e janelas de atualização DNS estendidas durante o failover geográfico.
Prepare-se para degradação do desempenho do cache a frio após failovers de camada de Uso Geral, em que a instância é reiniciada em um novo nó sem réplicas quentes.
Agende janelas de manutenção durante períodos de baixo tráfego. Espaçar janelas de manutenção entre pares de grupos de alta disponibilidade para evitar a manutenção simultânea nos dois membros.
Projete a estratégia de recuperação de desastre usando grupos de failover: Os grupos de failover replicam todos os bancos de dados de usuário como uma unidade para uma instância geográfica secundária em outra região, mas os bancos de dados do sistema não estão incluídos. Você deve sincronizar entradas, credenciais, trabalhos do SQL Agent e configurações de nível de instância independentemente para evitar falhas de autenticação e lacunas operacionais após o failover.
Use pontos de extremidade do ouvinte de grupo de failover em cadeias de conexão para evitar alterações durante o failover. Sincronize as políticas de retenção entre os membros porque as alterações de configuração não são replicadas. Para ambientes híbridos, o link da Instância Gerenciada oferece um caminho de replicação alternativo.
Recomendações de configuração
| Recomendação | Benefício |
|---|---|
| Ative a redundância de zona para cargas de trabalho da Instância Gerenciada de SQL de produção que exigem proteção contra falhas do datacenter. Você pode configurar a redundância de zona durante a criação da instância ou converter instâncias existentes. Verifique a elegibilidade do nível antes de continuar. | Obtém garantias de SLA (contrato de nível de serviço) mais altas do que implantações com redundância local e sobrevive a interrupções no nível do datacenter sem alterações de conexão de aplicativo. Elimina a zona de disponibilidade como único ponto de falha, o que significa que a manutenção planejada em uma zona não força um failover perceptível para a carga de trabalho. |
| Dimensione a sub-rede delegada para acomodar os requisitos de instância atuais mais espaço para expansões futuras. Use a calculadora de dimensionamento de sub-rede para determinar o espaço mínimo de endereço IP para as contagens de instâncias previstas em várias configurações de hardware e níveis. Adicione capacidade de buffer além dos requisitos mínimos porque o redimensionamento de sub-rede requer operações de migração complexas. Considere os limites dos clusters virtuais, onde diferentes gerações de hardware e combinações de níveis consomem endereços IP de sub-rede extras. |
Um dimensionamento adequado de sub-rede impede gargalos de escalabilidade que exigem a migração da sub-rede para serem resolvidos. O espaço de endereço IP superprovisionado custa pouco e fornece flexibilidade para alterações futuras de camada e crescimento de instância. |
| Configure alertas do Azure Monitor para métricas críticas de confiabilidade, como disponibilidade da instância, retardo de replicação e integridade do backup. Crie regras de alerta que sejam acionadas antes que o atraso de replicação exceda os limites estabelecidos do RPO. Acompanhe o consumo de armazenamento para evitar falhas de backup. | O alerta proativo permite que você responda rapidamente a desvio de replicação e problemas de integridade da instância antes que se agravem para perda de dados ou interrupções prolongadas. A detecção antecipada de falhas de backup evita lacunas na cobertura do ponto de recuperação que podem passar despercebidas até que você precise de uma restauração. |
| Adicione lógica de repetição com espera exponencial que considera os comportamentos de reconexão da Instância Gerenciada de SQL durante eventos de falha. Estenda os tempos limite de repetição para cenários de ouvinte de grupo de failover para cobrir a janela de alternância de função DNS. | A lógica de repetição absorve interrupções transitórias de conectividade de eventos de manutenção e failover, o que impede que erros de aplicativo atinjam os usuários. Os aplicativos se recuperam automaticamente de breves interrupções sem intervenção manual. |
| Configure janelas de manutenção para deslocar eventos de failover planejados para longe do agendamento padrão. Selecione janelas que se alinham com sua atividade de carga de trabalho mais baixa. Para grupos de failover em pares, atribua agendas de janela de manutenção diferentes a instâncias primárias e secundárias para impedir a manutenção simultânea. |
As janelas de manutenção deslocam eventos de failover planejados para períodos previsíveis e de baixo tráfego, o que reduz o efeito de interrupções transitórias de conexão nos usuários. Agendas escalonadas em instâncias de grupo de failover impedem a manutenção simultânea em ambos os membros. |
| Configure grupos de failover no escopo de instância com uma política de failover gerenciada pelo cliente para recuperação de desastres entre diferentes regiões. Crie uma instância geo-secundária em uma região emparelhada que tenha uma configuração correspondente e a mesma zona DNS. Estabeleça a conectividade de rede virtual entre sub-redes usando o emparelhamento global de rede virtual para obter replicação com menor latência. |
Os grupos de failover fornecem replicação geográfica automatizada de todos os bancos de dados de usuário e redirecionamento de conexões através de endpoints baseados em DNS. Essa abordagem dá suporte à recuperação entre regiões sem alterações na cadeia de conexão do aplicativo. A política de failover gerenciada pelo cliente mantém você no controle das decisões de recuperação e do tempo. |
| Configure o armazenamento de backup com redundância geográfica para manter cópias de backup em uma região emparelhada. Utilizar a restauração geográfica como uma opção de recuperação como contingência. Configure a retenção de longo prazo que usa GRS (armazenamento com redundância geográfica) para cenários de conformidade que exigem disponibilidade estendida. | O armazenamento de backup com redundância geográfica permite que você se recupere para qualquer região do Azure durante um desastre regional, mesmo sem grupos de failover. Essa abordagem fornece um caminho de recuperação independente que não depende da integridade da replicação em tempo real. |
| Considere o tempo de provisionamento de instância nos cálculos do objetivo de tempo de recuperação (RTO) de restauração no ponto no tempo (PITR), porque a restauração no PITR é feita em uma nova instância, ao invés de em uma existente. Execute restaurações de teste para medir a duração da recuperação de ponta a ponta, incluindo o provisionamento de instância. Teste os cenários da primeira sub-rede e da sub-rede existente para entender a variação nos tempos de restauração. |
Cálculos precisos de RTO que levam em conta o tempo necessário para aprovisionamento de instâncias impedem que você subestime a duração da recuperação durante incidentes reais. Os tempos de restauração validados fornecem confiança de que o PITR atende aos requisitos de recuperação de carga de trabalho. |
Segurança
O objetivo do pilar Segurança é fornecer garantias de confidencialidade, integridade e disponibilidade à carga de trabalho.
Os princípios de design de segurança fornecem uma estratégia de design de alto nível para atingir essas metas aplicando abordagens ao design técnico da Instância Gerenciada de SQL.
Lista de verificação de design de carga de trabalho
Inicie sua estratégia de design com base na lista de verificação de revisão de design para Segurança e identifique vulnerabilidades e controles para melhorar a postura de segurança. Estenda a estratégia para incluir mais abordagens conforme necessário.
Estabelecer uma linha de base de segurança: Comece com a linha de base de segurança do Azure para SQL do Azure. Concentre-se nos controles que o modelo com escopo de instância afeta mais, incluindo funções personalizadas no nível do servidor para segmentação administrativa, delegação de sub-rede de rede virtual para isolamento de rede, gerenciamento de chaves TDE (Transparent Data Encryption) em nível de instância e auditoria de operador para acesso ao Suporte da Microsoft.
A Instância Gerenciada de SQL compartilha a base de segurança do SQL do Azure, mas apresenta controles específicos de instância, como assemblies CLR (Common Language Runtime), servidores vinculados e SQL Agent, que expandem a superfície de ataque além do que o Banco de Dados SQL expõe. Priorize esses controles em sua revisão de linha de base.
Aplique estratégias de segmentação usando controles de nível de rede e baseados em identidade: A Instância Gerenciada de SQL dá suporte à segmentação baseada em identidade por meio de funções no nível do servidor e no nível do banco de dados que impõem a separação de tarefas. As funções personalizadas no nível do servidor fornecem segmentação administrativa detalhada não disponível no Banco de Dados SQL. A separação do acesso ao plano de controle do acesso ao plano de dados mantém a gestão de instâncias separada das operações de dados.
A segmentação em nível de rede depende da implantação de instâncias em sub-redes delegadas dedicadas em que os NSGs (grupos de segurança de rede) controlam os fluxos de tráfego. Evite reutilização de tabelas de rotas e NSGs entre sub-redes que participam do emparelhamento de rede virtual com sub-redes da Instância Gerenciada de SQL.
Conjuntos de instâncias compartilham recursos subjacentes de VMs, o que afeta as garantias de isolamento entre usuários quando você consolida instâncias. Avalie se as cargas de trabalho que têm requisitos de segurança diferentes precisam de instâncias separadas.
Integre-se à ID do Microsoft Entra para gerenciamento de identidade e acesso: A Instância Gerenciada de SQL dá suporte à autenticação do Microsoft Entra por meio de vários métodos. Esse suporte centraliza o gerenciamento de identidades e dá suporte a políticas de acesso condicional. A Instância Gerenciada de SQL também dá suporte à autenticação do Windows por meio do Kerberos para identidades do Microsoft Entra, uma funcionalidade não disponível no Banco de Dados SQL. Você pode fazer lift-and-shift de aplicativos herdados sem alterações de código.
Planeje a arquitetura de identidade catalogando identidades administrativas, de operador e de carga de trabalho. Atribua funções de banco de dados usando princípios de privilégios mínimos. Use identidades gerenciadas atribuídas pelo usuário como a identidade de instância para a integração de serviços do Azure.
Implementar o isolamento de rede usando a Rede Virtual do Azure: A Instância Gerenciada de SQL é implantada em uma sub-rede de rede virtual dedicada, que fornece isolamento no nível da rede por padrão e forma as decisões de conectividade e segurança.
Mantenha o ponto de extremidade público desativado porque ele cria outra superfície de ataque, e os grupos de failover e o vínculo de Instância Gerenciada dão suporte apenas à conectividade local da rede virtual.
Delegar a sub-rede da instância gerenciada exclusivamente ao tipo de instância gerenciada e aplicar regras NSG auxiliadas pelo serviço para controle de tráfego.
Atribua tabelas de rotas exclusivas e NSGs a cada sub-rede da Instância Gerenciada de SQL para emparelhamento de rede virtual. Reutilização de tabelas compartilhadas causa falhas de conectividade.
Configurar a criptografia de dados para proteção em repouso e em trânsito: A Instância Gerenciada de SQL fornece várias camadas de criptografia que abrangem dados em repouso, em trânsito e no nível do aplicativo. Cada camada requer decisões de configuração distintas.
Camada Scope Consideração fundamental TDE No nível da instância, todos os bancos de dados herdam a mesma chave A rotação afeta todos os bancos de dados simultaneamente e você deve manter versões de chave anteriores para restauração de backup. Criptografia de transporte (TLS) Conexões em trânsito Imponha os padrões TLS (Transport Layer Security) atuais e modos de conexão estritos para evitar ataques de downgrade de protocolo. Sempre Criptografado No nível da coluna, as chaves ficam fora do mecanismo de banco de dados Protege dados de usuários privilegiados. Enclaves seguros dão suporte a operações do lado do servidor em dados criptografados. Proteja as configurações de instância para reduzir a superfície de ataque: A Instância Gerenciada de SQL expõe recursos além do Banco de Dados SQL que expandem a superfície de ataque. Essas capacidades exigem decisões de endurecimento direcionadas junto com controles de governança.
A política de atualização controla a cadência de patch de segurança. Você enfrenta um compromisso entre a implementação imediata e a compatibilidade de link de Instância Gerenciada.
O SQL Agent, servidores vinculados, assemblies CLR e xp_cmdshell exigem avaliação de risco. Desativar recursos não utilizados e impor padrões TLS atuais.
Use o RBAC (controle de acesso baseado em função) do Azure para restringir operações de gerenciamento, aplicar bloqueios de recursos e impor configurações de segurança por meio do Azure Policy.
Proteja as credenciais e as chaves de criptografia usando identidades gerenciadas e o Azure Key Vault: As identidades gerenciadas eliminam credenciais armazenadas para conectividade entre aplicativos e integrações entre serviços. As identidades gerenciadas atribuídas pelo usuário removem os segredos da cadeia de conexão e simplificam o gerenciamento de rotação.
O Key Vault fornece gerenciamento unificado de ciclo de vida para os protetores de TDE e as chaves mestras de coluna do Always Encrypted. O monitoramento de acesso à chave detecta padrões de uso incomuns que podem indicar comprometimento.
A Instância Gerenciada de SQL usa objetos de credencial para gravar logs de auditoria no armazenamento de blobs. Renove essas credenciais antes de expirarem para manter a continuidade da auditoria. Planeje procedimentos de entrega de credenciais para identidades que usam a autenticação SQL durante a migração.
Configurar o monitoramento de segurança e o log de auditoria: A auditoria da Instância Gerenciada de SQL dá suporte ao Armazenamento de Blobs do Azure, aos Hubs de Eventos do Azure e aos logs do Azure Monitor como destinos de auditoria. A auditoria de operador fornece visibilidade das operações de suporte da Microsoft na instância. A integridade do log de auditoria requer controles de evidência de violação para conformidade.
A integração do Log Analytics dá suporte à consulta avançada e à correlação de eventos de segurança, enquanto os Hubs de Eventos dão suporte à integração de SIEM (gerenciamento de eventos e informações de segurança externas). O Microsoft Defender para SQL adiciona proteção contra ameaças, incluindo alertas para injeção, força bruta e padrões de acesso incomuns.
Acompanhe eventos de autenticação, execução de consulta e alterações de privilégio por meio de especificações de auditoria para detectar tentativas de escalonamento e acesso não autorizado.
Recomendações de configuração
| Recomendação | Benefício |
|---|---|
| Crie funções personalizadas no nível do servidor que delimitem permissões a funções administrativas específicas, em vez de conceder privilégios amplos. Evite atribuir contas pré-definidas de proprietário de banco de dados ou de administrador de servidor a cargas de trabalho do aplicativo. | Reduz o risco de escalonamento de privilégios limitando cada função administrativa às permissões mínimas necessárias. As funções personalizadas no nível do servidor permitem impor a separação granular de tarefas que as funções internas não fornecem. |
| Ative a autenticação somente do Microsoft Entra e desative a autenticação baseada em SQL para a instância gerenciada. Antes de alternar, migre os trabalhos do SQL Agent, servidores vinculados e credenciais de auditoria que dependem de logons do SQL para os principais do Microsoft Entra. | Elimina vetores de ataque baseados em credencial removendo a autenticação do SQL e impondo protocolos de identidade modernos que dão suporte à autenticação multifator. |
| Configure uma identidade gerenciada atribuída pelo usuário como a identidade de instância para a integração de serviços do Azure, incluindo o TDE que usa chaves gerenciadas pelo cliente, auditoria no armazenamento e autenticação entre serviços. | Remove a sobrecarga de gerenciamento de credenciais para a integração de serviços do Azure e reduz o risco de segredos expostos na configuração. |
| Mantenha o ponto de extremidade público desativado para instâncias de produção. Se você precisar de acesso público, restrinja-o a intervalos de endereços IP específicos usando regras NSG. Use a conectividade local de rede virtual para acesso padrão e pontos de extremidade privados para cenários entre redes virtuais. | Reduz a superfície de ataque de rede para caminhos de rede virtual autorizados, o que simplifica as auditorias de conformidade e reduz o raio de explosão de credenciais comprometidas. |
| Configure regras NSG na sub-rede da Instância Gerenciada de SQL para permitir apenas o tráfego de entrada necessário de fontes autorizadas. Aplique uma abordagem de negativa por padrão, preservando regras obrigatórias assistidas pelo serviço para operações de instância. | Impede a movimentação lateral de recursos comprometidos em sub-redes adjacentes, o que limita o raio de explosão durante uma violação no nível da rede. |
| Configure o TDE usando chaves gerenciadas pelo cliente em um cofre de chaves que tem a proteção contra exclusão e limpeza ativada. Use uma identidade gerenciada atribuída pelo usuário para acesso à chave. Ative a rotação automatizada e dedique um cofre de chaves aos recursos da Instância Gerenciada de SQL. | Mantém controle total sobre o ciclo de vida da chave de criptografia, incluindo rotação e revogação, e atende aos requisitos de conformidade de gerenciamento de chaves organizacionais. |
| Use o Microsoft Defender para SQL para ativar a avaliação de vulnerabilidades e a proteção avançada contra ameaças. Configure alertas para eventos de detecção e encaminhe-os para operações de segurança por meio do Microsoft Defender para Nuvem. | Detecta configurações incorretas de segurança e ameaças ativas por meio de verificação automatizada e análise comportamental que se integra aos fluxos de trabalho de operações de segurança. |
| Desative o SQL Agent se a carga de trabalho não a usar. Quando estiver ativo, evite atribuir trabalhos a contas altamente privilegiadas e configure contas proxy para etapas que exijam acesso a credenciais específicas. | Impede o escalonamento de privilégios, restringindo, por meio do SQL Agent, a propriedade de tarefas e o acesso à credencial, o que minimiza uma superfície de ataque específica para Instância Gerenciada de SQL. |
| Armazene chaves protetoras de TDE e chaves mestras de coluna Always Encrypted em um cofre de chaves que tenha proteção contra exclusão e limpeza reversível. Ative o log de auditoria do Key Vault e use um cofre dedicado para a Instância Gerenciada de SQL para evitar a limitação. | Centraliza o gerenciamento de chaves de criptografia com uma trilha de auditoria completa e protege contra perda acidental de chave que poderia impedir o acesso ao banco de dados. |
| Ative a auditoria do servidor e configure grupos de eventos para capturar a atividade de entrada e as consultas concluídas. Configurar destinos duplos. Utilize armazenamento de blobs para retenção prolongada e logs do Azure Monitor para análise em tempo real. Crie uma auditoria de servidor separada que tenha a auditoria de operador ativada para acompanhar as operações de Suporte da Microsoft. Ative o armazenamento imutável em contêineres de blob de auditoria para evitar violação de registro. |
Mantém uma trilha de auditoria completa da atividade de banco de dados para requisitos de conformidade, investigação de incidentes e detecção de anomalias. |
| Defina as configurações de diagnóstico para enviar eventos de auditoria de segurança para um workspace do Log Analytics. Utilize consultas KQL (Kusto Query Language) para detecção de anomalias e configure alertas para padrões de atividades suspeitas, como tentativas de login falhas repetidas. | Permite analisar eventos de segurança em tempo real e correlacionar-se entre cargas de trabalho usando a agregação de log centralizada e a detecção automatizada de ameaças. |
Otimização de custos
A otimização de custos se concentra na na detecção de padrões de gastos, na priorização de investimentos em áreas críticas e na otimização de outras para atender ao orçamento da organização e, ao mesmo tempo, aos requisitos comerciais.
Os princípios de design de Otimização de Custos fornecem uma estratégia de design de alto nível para atingir essas metas e fazer compensações conforme necessário no design técnico relacionado à Instância Gerenciada de SQL e seu ambiente.
Lista de verificação de design de carga de trabalho
Comece sua estratégia de design com base na lista de verificação de revisão de design para otimização de custos em investimentos. Ajuste o design para que a carga de trabalho seja alinhada com o orçamento alocado para a carga de trabalho. Seu design deve usar os recursos corretos do Azure, monitorar investimentos e encontrar oportunidades para otimizar ao longo do tempo.
Crie e mantenha um modelo de custo que contabilize o modelo de cobrança de computação provisionado: A Instância Gerenciada de SQL usa um modelo de computação sempre provisionado em que os vCores cobram continuamente, independentemente da utilização. Seu modelo de custo deve considerar os drivers de custo primários, que incluem seleção da camada de serviço, contagem de vCore, geração de hardware e alocação de armazenamento com base no tamanho máximo configurado.
A cobrança no escopo da instância significa que todos os bancos de dados compartilham custos de computação, o que requer um mapeamento claro para o chargeback (reembolso de custos) e o showback (exibição de custos). Inclua opções de licenciamento e compromisso, como o Benefício Híbrido do Azure, a capacidade reservada e as réplicas em espera sem licença. Cada alavanca reduz o custo por meio de um mecanismo diferente.
Restrições de cota de vCore regionais podem forçar arquiteturas de multissubscrição, o que adiciona complexidade ao controle de custos e à governança.
Monitore e analise os custos para identificar oportunidades de otimização: No modelo sempre provisionado, a computação ociosa ainda incorre em encargos. Use o Gerenciamento de Custos da Microsoft para acompanhar os custos de computação, armazenamento, backup e licenciamento por instância. Compare o consumo real de armazenamento com o máximo reservado para identificar o desperdício de cobrança.
Monitore a utilização de recursos para identificar o excesso de provisionamento de vCore e validar se a camada de serviço atual permanece justificada. Crie alertas de orçamento, previsão e anomalias para detectar aumentos de custos inesperados por meio de alterações de escala ou configuração.
Otimize as configurações de computação e licenciamento para reduzir os custos de recursos provisionados: Os custos de computação são acumulados continuamente no modelo somente provisionado, portanto, ajuste a quantidade de vCore e otimize o licenciamento desde o início. Analise a utilização antes de selecionar a configuração. Use a camada de Uso Geral quando as cargas de trabalho tolerarem maior latência de armazenamento. A diferença de camada é o maior fator individual de custo.
Aplique o Benefício Híbrido do Azure para licenças existentes do SQL Server, comprometa-se com capacidade reservada para cargas de trabalho previsíveis e designe secundárias de grupos de failover como réplicas em espera livres de licenças quando servirem apenas para recuperação de desastre.
Otimize os custos de ambiente em instâncias de produção e não produção: Configurações de produção e não produção idênticas desperdiçam o orçamento em um modelo sempre provisionado. Diferencie perfis de custo de ambiente aplicando mecanismos de economia específicos da Instância Gerenciada de SQL a cada camada.
Otimize ambientes de não produção ativando/desativando instâncias de Propósito Geral durante períodos ociosos previsíveis para eliminar os encargos de computação e licenciamento.
Diferencie as configurações de ambiente implantando instâncias de não produção que usam contagens de vCore reduzidas e preços de assinatura de teste de desenvolvimento.
Otimize os ambientes de recuperação de desastre avaliando a restauração geográfica como uma alternativa de menor custo aos grupos de failover para cargas de trabalho não críticas.
Consolide pequenas cargas de trabalho usando pools de instâncias para melhorar a eficiência dos recursos: Os pools de instância consolidam várias instâncias pequenas na computação compartilhada, o que reduz a sobrecarga por instância. Os pools dão suporte a configurações menores de vCore, exclusivas para implantações em pool, e são restritos à camada de Propósito Geral em gerações de hardware suportadas.
A computação do pool é cobrada no nível do pool, independentemente de quantas instâncias são executadas dentro dela, portanto, vCores não utilizados ainda incorrem em custos. As decisões de licenciamento e capacidade reservada se aplicam uniformemente em todas as instâncias do pool.
As instâncias em pool compartilham recursos de rede e disco local, que podem criar efeitos de vizinho barulhento. Cada instância recebe vCores e memória dedicados, mas cargas de trabalho que exigem isolamento mais forte devem ser implantadas como instâncias autônomas.
Recomendações de configuração
| Recomendação | Benefício |
|---|---|
| Compare o consumo real de armazenamento com o tamanho máximo configurado porque a Instância Gerenciada de SQL cobra o armazenamento reservado, independentemente da utilização. Reduza o máximo reservado em instâncias em que a alocação excede significativamente o consumo. | Identifica casos em que o armazenamento reservado excede o uso real, permitindo otimizar e reduzir o desperdício na cobrança por gigabyte no modelo de armazenamento reservado da Instância Gerenciada de SQL. |
| Ative o Benefício Híbrido do Azure na Instância Gerenciada de SQL para aplicar licenças existentes do SQL Server que têm o Software Assurance. As licenças do Enterprise Edition oferecem as taxas de conversão mais favoráveis, especialmente na camada uso geral. Ao parar uma instância de Uso Geral, desative o Benefício Híbrido do Azure primeiro e realloque as licenças para outros recursos do SQL do Azure. Reative o benefício após reiniciar a instância. |
Reduz os custos de licenciamento do SQL Server usando licenças locais existentes para implantações de nuvem. Os clientes do Enterprise Edition obtêm a maior economia na camada Uso Geral, considerando as taxas de conversão de vCore favoráveis. |
| Compre compromissos de capacidade reservada para implantações da Instância Gerenciada de SQL que tenham cargas de trabalho previsíveis e de longa execução. Aplique reservas para pools de instâncias a fim de combinar economias em computação compartilhada com descontos baseados em compromisso. Para cargas de trabalho que têm agendas previsíveis, execute várias instâncias menores em diferentes períodos de tempo dentro da mesma reserva de vCore. Você não pode carregar adiante horas reservadas não utilizadas, assim, maximize a utilização por meio do agendamento. |
Os preços baseados em compromisso reduzem os custos em comparação com as taxas pagas conforme o uso para configurações estáveis de carga de trabalho. A capacidade reservada emparelhada com pools de instâncias fornece o modelo de implantação mais econômico para várias instâncias pequenas. |
| Designe a instância secundária em um grupo de failover como uma réplica em espera sem licença quando usada exclusivamente para recuperação de desastres. O modo de espera dá suporte a mudanças automáticas, backups, manutenção e testes de recuperação de desastres, mas não a conexões de produção. | Elimina os custos de licenciamento do SQL Server no secundário de recuperação de desastre, mas mantém o mesmo RPO e RTO que uma réplica legível. Libera licenças do Benefício Híbrido do Azure para alocação para outros recursos do SQL do Azure, o que aumenta o valor dos investimentos de licença existentes. |
| Interrompa instâncias de Uso Geral durante períodos ociosos previsíveis para eliminar os encargos de licenciamento e vCore. Crie agendas de parada/início que definem pares e definem um intervalo mínimo entre ações sucessivas. Considere a latência de inicialização, desencadeando operações de início antes que a instância precise estar pronta. Você não pode parar instâncias que têm recursos como grupos de failover ou redundância de zona ativada. |
Remove os encargos de computação e licenciamento durante períodos ociosos, mas retém dados e armazenamento de backup. A automação garante economias consistentes sem intervenção manual. |
| Implante pools de instâncias para hospedar várias instâncias gerenciadas pequenas que compartilham computação pré-provisionada.
Dimensione o pool com base no total de vCores necessários, ative o Benefício Híbrido do Azure no nível do pool e combine com a capacidade reservada para o maior desconto. Evite pools para cargas de trabalho que precisam da camada Comercialmente Crítica, redundância de zona ou isolamento estrito de desempenho. As instâncias em pool compartilham recursos de rede e disco local, portanto, cargas de trabalho sensíveis à latência com risco de vizinho barulhento devem ser implantadas como instâncias autônomas. |
Desbloqueia configurações menores do vCore não disponíveis fora dos pools, para que você possa migrar com eficiência pequenas instâncias do SQL Server sem o excesso de provisionamento. Os recursos de computação compartilhados reduzem a sobrecarga por instância, mas mantêm o isolamento dedicado de vCore e memória para cada instância em pool. |
Excelência operacional
A Excelência Operacional concentra-se principalmente em procedimentos relacionados às práticas de desenvolvimento , observabilidade e gerenciamento de lançamentos.
Os princípios de design da Excelência Operacional fornecem uma estratégia de design de alto nível para atingir essas metas para os requisitos operacionais da carga de trabalho.
Lista de verificação de design de carga de trabalho
Inicie sua estratégia de design com base na lista de verificação de revisão de design da Excelência Operacional para definir processos de observabilidade, teste e implantação relacionados à Instância Gerenciada de SQL.
Implementar práticas de implantação seguras para alterações de configuração de instância: As operações de gerenciamento da Instância Gerenciada de SQL envolvem alterações de infraestrutura de cluster virtual que são executadas por muito mais tempo do que as operações típicas de banco de dados. Planeje suas práticas de implantação em torno dessas durações estendidas para minimizar a interrupção da carga de trabalho.
Leve em conta a duração estendida das operações de criação, escalonamento e alteração de nível. Não agende-os durante o horário de pico. As operações na mesma sub-rede são serializadas.
Planeje estratégias de reversão e implantação em etapas que validem as alterações de configuração em instâncias de não produção primeiro, porque as operações de dimensionamento em ambas as direções levam tempo comparável.
Coordene as alterações de implantação do grupo de failover garantindo que as instâncias possuam políticas de atualização consistentes. Agende alterações em instâncias primárias e secundárias em horários diferentes.
Defina a infraestrutura como código para implantações de instância integrada à rede virtual: A Instância Gerenciada de SQL requer implantação integrada à rede virtual com delegação de sub-rede, regras de NSG e tabelas de rotas em vigor antes do provisionamento. Estruture seus modelos de IaC (infraestrutura como código) em camadas de dependência, para que a rede seja implementada primeiro, a identidade e o RBAC em segundo e os recursos de instância por último.
Configure a detecção de desvio de configuração para regras de sub-rede, tabelas de rotas e propriedades de instância. Use o Azure Policy para impor padrões de implantação, como marcas necessárias, camadas permitidas e requisitos de redundância de zona para instâncias de produção.
Projete e crie pipelines de build e implantação para alterações de instância e esquema de banco de dados: As alterações de infraestrutura de instância e as implantações de esquema de banco de dados operam em tempos fundamentalmente diferentes. Separe os estágios do pipeline adequadamente. Use sondagem baseada em status para estágios de infraestrutura e portões de aprovação antes de qualquer operação que dispare o trabalho de gerenciamento estendido.
As alterações de esquema exigem validação em relação às diferenças de compatibilidade T-SQL documentadas antes da implantação. Verifique a compatibilidade no pipeline e verifique as dependências de consulta entre bancos de dados e os recursos com escopo de instância na validação pós-implantação.
Estabeleça a observabilidade usando o Azure Monitor e o diagnóstico nativo de SQL: A observabilidade da Instância Gerenciada de SQL requer telemetria da plataforma do Azure Monitor e diagnósticos nativos de SQL, como DMVs (exibições de gerenciamento dinâmico), Repositório de Consultas e eventos estendidos. Combine essas camadas para uma exibição completa da integridade da instância e do desempenho da carga de trabalho.
Configure o monitoramento de plataforma por meio do Azure Monitor aplicando configurações de diagnóstico em toda a instância. Os eventos de operação de gerenciamento aparecem no log de atividades e os alertas do Resource Health fornecem um aviso antecipado de eventos planejados e não planejados. No lado do banco de dados, use o Repositório de Consultas como sua principal ferramenta para análise de carga de trabalho e otimização de índice. A Instância Gerenciada de SQL não dá suporte ao ajuste automatizado de índice.
Assine alertas do Resource Health e notificações de manutenção antecipadas para avisar sobre eventos planejados e não planejados.
Automatizar tarefas de gerenciamento, monitoramento e manutenção: A Instância Gerenciada de SQL inclui o SQL Agent, um agendador de trabalho interno que lida com a manutenção do banco de dados e tarefas operacionais sem orquestração externa. Combine o SQL Agent com a automação no nível do Azure para cobertura completa das operações do mecanismo de banco de dados e do plano de gerenciamento.
Use SQL Agent para manutenção recorrente do banco de dados, sincronização de logins para secundários do grupo de failover e alertas sobre falhas de tarefas.
Use a Automação do Azure ou o Azure Functions para operações que exigem interação do Azure Resource Manager, como monitorar operações de gerenciamento e gerenciar a retenção de backup.
Automatize operações de ciclo de vida, como agendamentos de interrupção e início para instâncias qualificadas durante períodos ociosos e configuração de diagnóstico consistente ao provisionar novas instâncias.
Estabeleça práticas de teste e validação para implantações de banco de dados: A compatibilidade do SQL Server no SQL Managed Instance dá suporte a ferramentas de teste padrão, mas você ainda precisa validar operações de gerenciamento, dependências entre bancos de dados e recursos com escopo de instância. Use ambientes de teste reais da Instância Gerenciada de SQL porque o Banco de Dados SQL e o SQL Server têm diferentes comportamentos de operação de gerenciamento e infraestrutura.
Recomendações de configuração
| Recomendação | Benefício |
|---|---|
| Monitore o progresso da operação de gerenciamento usando o PowerShell, a CLI do Azure ou a API REST para acompanhar as etapas e detectar problemas antecipadamente. Cancele operações paralisadas ou desnecessárias quando disponível. O cancelamento em si requer tempo de limpeza de infraestrutura. | Sua equipe ganha visibilidade sobre operações estendidas para tomar decisões informadas sobre esperar, cancelar ou escalar. O cancelamento antecipado reduz o impacto das operações problemáticas antes que elas causem interrupções prolongadas. |
Implante os pré-requisitos de rede da Instância Gerenciada de SQL como um módulo IaC separado que é concluído antes do início do provisionamento de instância. Inclua a delegação de sub-rede em Microsoft.Sql/managedInstances e as regras NSG obrigatórias para o tráfego de gerenciamento no modelo. |
Você valida os pré-requisitos de rede antes do início do provisionamento da instância, o que impede falhas de implantação devido à falta de regras de delegação ou regras de NSG. Use módulos separados para gerenciar o ciclo de vida da rede e da infraestrutura de banco de dados de forma independente. |
| Defina tempos limite de pipeline para estágios de infraestrutura da Instância Gerenciada de SQL com base nas durações de operação documentadas, que variam significativamente por tipo de operação. Consultar a API de operações de gerenciamento em um passo em loop para acompanhar o progresso e detectar falhas antecipadamente. Não confie em temporizadores de suspensão fixos que não podem distinguir operações paralisadas de operações de longa execução. |
Os tempos limite corretos eliminam falhas de pipeline falsas causadas por operações que excedem os períodos de tempo limite padrão. A verificação de progresso dentro do pipeline ajuda sua equipe a responder mais rapidamente a falhas genuínas em vez de esperar que tempos arbitrários expirem. |
| Ative as configurações de diagnóstico com escopo de instância e envie logs de recursos para todas as categorias relevantes para um workspace do Log Analytics. Aplique a mesma configuração de exportação de streaming em todas as instâncias para estabelecer uma linha de base de observabilidade confiável. Adicione configurações de diagnóstico do log de atividades para capturar eventos de operação de gerenciamento. Use indicadores de integridade do cluster virtual para detectar problemas de nível de infraestrutura que afetam a disponibilidade da instância. |
Use consultas KQL no Log Analytics para analisar logs em todas as instâncias, o que dá suporte à análise de tendências históricas para planejamento de capacidade e solução de problemas de desempenho. A telemetria de operações de gerenciamento e os dados de integridade do cluster virtual ajudam a solucionar problemas específicos relacionados a operações estendidas e coordenação em nível de sub-rede na Instância Gerenciada de SQL. |
| Configure notificações antecipadas para eventos de manutenção planejada, de modo a receber alertas antes da abertura da janela de manutenção e quando a manutenção for concluída. Use essas notificações para disparar fluxos de trabalho de preparação, como notificar as equipes de aplicativos ou ajustar políticas de repetição. | Sua equipe de operações obtém tempo de preparação antecipado antes da manutenção planejada, o que reduz a interrupção de cargas de trabalho críticas aos negócios e dá suporte à comunicação proativa com os stakeholders. |
| Configure alertas de log de atividades para operações de gerenciamento que excedem os limites de duração esperados ou falham. Operações com falha podem deixar a instância em um estado intermediário que requer intervenção. Use a API de operações de gerenciamento ou pastas de trabalho do Azure Monitor para exibir as tendências de progresso e duração da operação em seu ambiente de Instância Gerenciada de SQL. |
A detecção antecipada de operações paralisadas ou com falha reduz a janela de risco durante as alterações de infraestrutura estendidas. Sua equipe obtém tempo para intervir antes que o impacto aumente. |
| Crie trabalhos do SQL Agent para manutenção de índice, atualizações de estatísticas e verificações de consistência em todos os bancos de dados na instância. Agende esses trabalhos durante períodos de baixo tráfego e execução escalonada para evitar contenção de recursos. | A manutenção automatizada consistente mantém a saúde do banco de dados e o desempenho das consultas de banco de dados em dia sem ferramentas de agendamento externas. O SQL Agent nativo da Instância Gerenciada de SQL reduz a sobrecarga operacional em comparação com a infraestrutura de automação personalizada. |
| Use projetos de banco de dados SQL com a plataforma de destino da Instância Gerenciada de SQL para validar a compatibilidade do T-SQL e identificar a sintaxe sem suporte antes da implantação de produção. Teste as dependências de consulta entre bancos de dados usando a nomenclatura de três partes em testes de integração. Verifique os recursos com escopo de instância, como definições de trabalho do SQL Agent, configurações do Service Broker e servidores vinculados como parte da validação de implantação. |
Você encontra problemas de compatibilidade e falhas de implantação antes que eles cheguem à produção, o que reduz o risco de reversão para operações que levam tempo estendido para serem concluídas. |
Eficiência de desempenho
Eficiência de desempenho significa manter a experiência do usuário mesmo quando há um aumento na carga por meio do gerenciamento da capacidade. A estratégia inclui dimensionamento de recursos, identificação e otimização de possíveis gargalos e otimização para o desempenho de pico.
Os princípios de design de eficiência de desempenho fornecem uma estratégia de design de alto nível para atingir essas metas de capacidade considerando o uso esperado.
Lista de verificação de design de carga de trabalho
Comece sua estratégia de design com base na lista de verificação de revisão de design para eficiência de desempenho. Defina uma linha de base baseada nos principais indicadores de desempenho da Instância Gerenciada de SQL.
Realizar o planejamento de capacidade: A Instância Gerenciada de SQL usa um modelo com escopo de instância em que todos os bancos de dados compartilham vCores, memória, operações de entrada/saída por segundo (IOPS) e armazenamento. O planejamento de capacidade em toda a propriedade de banco de dados é essencial porque o consumo de recursos de um banco de dados afeta diretamente todas as outras.
Identifique as metas de desempenho para o tempo de resposta, a largura de banda e as sessões simultâneas. Capture linhas de base de desempenho antes da migração e projete padrões de crescimento para a contagem de bancos de dados, armazenamento e volume de transações ao longo do ciclo de vida da instância. Considere as restrições de TempDB da camada específica ao planejar cargas de trabalho com uso intensivo de TempDB.
As operações de gerenciamento para dimensionamento levam horas em vez dos minutos típicos de outras ofertas de SQL do Azure. Planeje a capacidade com buffer suficiente para evitar necessidades urgentes de dimensionamento e coordene operações com janelas de manutenção para minimizar a interrupção dos negócios.
Selecione a geração de hardware e a camada de serviço para requisitos de carga de trabalho: A geração de hardware e a seleção da camada de serviço determinam a taxa de memória, as características de E/S e o perfil de latência disponíveis para sua carga de trabalho.
Decisão O que avaliar Nível de serviço Corresponder à latência de E/S e aos requisitos de funcionalidades. Contabilize as diferenças de arquitetura entre o armazenamento remoto e local e o efeito de latência das configurações com redundância de zona. Modelo de IOPS As abordagens de alocação variam de dimensionamento dependente do tamanho do arquivo (General Purpose) ao provisionamento em nível de instância e por vCore (Business Critical, Próxima Geração de Uso Geral). Tipo de conexão Utilize o tipo de conexão Redirect em pontos de extremidade locais da rede virtual para reduzir a latência por consulta para cargas de trabalho persistentes. Escolha a estratégia de dimensionamento correta para sua carga de trabalho: A Instância Gerenciada de SQL dá suporte apenas ao dimensionamento vertical. O serviço não oferece dimensionamento automático, computação sem servidor ou uma camada de Hiperescala.
Planeje o dimensionamento vertical em torno de janelas de operação de várias horas para alterações de camada, alterações de geração de hardware e ajustes de vCore. Agende essas operações durante os períodos de manutenção planejados.
Descarregue cargas de trabalho de leitura para a réplica secundária interna legível no Nível de Importância Comercial. Essa réplica atende a consultas somente leitura sem custo adicional para cargas de trabalho, como relatórios, análises e leituras eventualmente consistentes.
Use memória flexível na Próxima Geração de Uso Geral para ajustar a alocação de memória independentemente da contagem de vCore. As alterações acionam um failover de instância na etapa final.
Execute testes de desempenho para validar o comportamento da carga de trabalho do banco de dados: Projete testes de desempenho que validem o comportamento simultâneo multidatabase no modelo com escopo de instância. Inclua combinações de transações realistas que combinam cargas de trabalho transacionais, em lote e de relatório que são executadas simultaneamente. Teste com a quantidade real de bancos de dados e os volumes de dados previstos para a instância.
Capture linhas de base de pré-implantação e compare o comportamento pós-migração entre diferentes gerações de hardware e camadas de serviço para confirmar se a configuração selecionada atende aos seus requisitos. Medir o tempo de recuperação da carga de trabalho após failovers e operações de gerenciamento, especialmente em camadas que usam o armazenamento remoto em que o pool de buffers deve ser recriado.
Identificar e monitorar indicadores de desempenho: Monitore nos níveis de instância e de banco de dados para identificar a contenção de recursos porque todos os bancos de dados compartilham recursos de computação no modelo com escopo de instância.
Configure o monitoramento no nível da instância para acompanhar as métricas principais e definir alertas nos limites de utilização antes que as cargas de trabalho sejam afetadas. Inclua a taxa de transferência de gravação de log em relação aos limites por camada.
Use o Repositório de Consultas como sua ferramenta principal para identificar consultas regredidas e planejar alterações. Combine-a com a análise manual de índice porque a Instância Gerenciada de SQL não dá suporte ao ajuste automático de índice.
Adicione o monitoramento de recursos no nível do banco de dados para controlar o consumo por banco de dados e detectar a contenção de recursos compartilhados, como o TempDB e o armazenamento na memória.
Otimizar o desempenho da consulta e do design da carga de trabalho: A Instância Gerenciada de SQL inclui recursos do Enterprise Edition que abordam desafios de desempenho específicos ao modelo com escopo de instância, como governança de recursos em bancos de dados, consultas entre bancos de dados, transações distribuídas e processamento na memória.
Considere as restrições de recursos específicas do serviço em sua estratégia de otimização. Alocação corrigida de TempDB, limites de governança da taxa de log na capacidade de gravação e modelos de IOPS dependentes de camada representam tanto restrições quanto oportunidades de otimização.
Recomendações de configuração
| Recomendação | Benefício |
|---|---|
| Selecione a geração de hardware pela relação de memória por vCore em vez de adicionar vCores quando a memória for a restrição. A geração de hardware da série premium equilibra a memória e o custo, enquanto a geração de hardware da série premium com otimização de memória atende a grandes pools de buffers ou limites de capacidade OLTP na memória. | O rightsizing por taxa de memória evita o excesso de provisionamento de vCores, o que reduz o custo e atende às metas de desempenho. |
| Defina o tipo de conexão de redirecionamento no ponto de extremidade local da rede virtual para cargas de trabalho que se conectam de dentro da rede virtual. Essa configuração roteia o tráfego diretamente para o nó de hospedagem após a autenticação inicial. Pontos de extremidade públicos e privados sempre usam o tipo de conexão proxy, independentemente dessa configuração. |
Reduz a latência por solicitação para conexões persistentes de rede virtual local, ignorando o gateway após a autenticação inicial. |
Rotear cargas de trabalho somente leitura para a réplica secundária comercialmente crítica usando ApplicationIntent=ReadOnly na cadeia de conexão. Monitore o atraso de réplica secundária para confirmar que as cargas de trabalho descarregadas atendem às metas de latência.Use o grupo de failover geo-secundário para descarregamento de leitura entre regiões quando disponível. Na SQL Managed Instance, essa abordagem reduz a pressão sobre vCores compartilhados e memória em todos os bancos de dados da instância. |
Libera os recursos de computação primária para operações intensivas de gravação em todos os bancos de dados, direcionando as leituras para a réplica secundária incluída sem custo adicional. |
Ative o Repositório de Consultas no modo em Read-Write cada banco de dados e examine relatórios regularmente para identificar consultas regredidas, alterações de plano e operações que consomem recursos.Combine os insights do Query Store com as DMVs para índices ausentes para avaliar e criar índices manualmente. A Instância Gerenciada de SQL não dá suporte ao gerenciamento automático de índice. Defina valores de retenção e tamanho de armazenamento para equilibrar a disponibilidade de dados históricos com o consumo de armazenamento. |
Fornece visibilidade contínua sobre a qualidade do plano de consulta e o comportamento de runtime para que você possa detectar regressões antecipadamente e tomar decisões de otimização informadas. |
| Use OLTP em memória na camada Crítico para Negócios para cargas de trabalho de alta taxa de transferência, como ingestão de dados, cache e estado de sessão. Considere a capacidade de armazenamento de OLTP na memória disponível quando você seleciona sua geração de hardware, pois os limites variam conforme a configuração. | Elimina a contenção de trava e reduz a sobrecarga da CPU para cargas de trabalho de alta taxa de transferência, o que geralmente remove a necessidade de uma camada de computação mais alta. |
| Configure o administrador de recursos para controlar a alocação de CPU, memória e E/S entre cargas de trabalho que compartilham a instância e contabilizam o comportamento específico da Instância Gerenciada de SQL. Essa funcionalidade aborda diretamente o risco de vizinho barulhento no modelo de implantação com escopo de instância. | Impede que qualquer banco de dados individual ou padrão de consulta monopolize os recursos de instância compartilhada, o que protege o isolamento da carga de trabalho em todo o estado do banco de dados. |
| Planeje o uso do TempDB em torno da alocação fixa e da configuração de arquivo, que você não pode modificar na Instância Gerenciada de SQL. A camada de Uso Geral fornece uma alocação menor por vCore TempDB do que outras ofertas de SQL do Azure. Avalie a camada Comercialmente Crítica para cargas de trabalho com uso intensivo de TempDB que excedem essas restrições. |
Evita o esgotamento de espaço do TempDB considerando as restrições de alocação e configuração de arquivo fixas na camada de Uso Geral. |
| Otimize os tamanhos de arquivo de dados na camada uso geral para maximizar o IOPS. Arquivos maiores recebem proporcionalmente maior taxa de transferência da camada de armazenamento remoto. Na Próxima Geração do Armazenamento Geral, os IOPS são dimensionados no nível da instância com base no armazenamento reservado, em vez de por arquivo. |
Melhora a taxa de transferência de leitura e gravação ajustando os tamanhos de arquivo sem a necessidade de uma atualização de camada. |
Políticas do Azure
O Azure fornece um amplo conjunto de políticas internas relacionadas à Instância Gerenciada de SQL e suas dependências. Algumas das recomendações anteriores podem ser auditadas por meio de Azure Policy. Por exemplo, você pode verificar se:
- Você deve usar chaves gerenciadas pelo cliente para criptografar dados inativos em instâncias gerenciadas de SQL.
- Você deve ativar a autenticação somente do Microsoft Entra em instâncias gerenciadas de SQL.
- Você deve bloquear o acesso à rede pública em instâncias gerenciadas de SQL.
- Você deve evitar a redundância de backup do GRS em instâncias gerenciadas de SQL.
Para uma governança abrangente, revise as definições internas padrão do Azure Policy para Instância Gerenciada do SQL e outras políticas que possam afetar a segurança da sua carga de trabalho de banco de dados.
recomendações de Azure Advisor
Azure Advisor é um consultor de nuvem personalizado que ajuda você a seguir as práticas recomendadas para otimizar suas implantações de Azure.
Para obter mais informações, consulte Azure Advisor.
Arquitetura de exemplo
Arquitetura fundamental que demonstra as principais recomendações: aplicativo totalmente gerenciado e protegido na Instância Gerenciada de SQL.