Implantar um serviço de banco de dados gerenciado com a Instância Gerenciada de SQL habilitada para Azure Arc

Concluído

A Instância Gerenciada de SQL habilitada para Azure Arc é um serviço de SQL do Azure com a eficiência do mecanismo do SQL Server que pode ser implantada na infraestrutura da sua escolha.

Comparação com o SQL do Azure

O SQL do Azure é uma família de serviços de banco de dados implantados na infraestrutura do Azure:

SQL Server na Máquina Virtual do Azure

Essa opção de implantação do SQL do Azure permite que um produto SQL Server totalmente licenciado seja executado na versão da sua escolha no Windows ou no Linux. O usuário gerencia tudo dentro da máquina virtual convidada, enquanto a Microsoft gerencia a infraestrutura. Essa opção é conhecida como IaaS (infraestrutura como serviço).

Instância Gerenciada do Azure SQL

Essa opção de implantação de SQL do Azure fornece uma instância do SQL Server sem versão pré-instalada como um serviço totalmente gerenciado. O usuário tem acesso a quase 100% das funcionalidades de uma instância do mecanismo do SQL Server. A Microsoft gerencia todos os aspectos da plataforma e da infraestrutura necessários para hospedar a instância. Essa opção é um exemplo de PaaS (plataforma como serviço).

Banco de Dados SQL do Azure

Essa opção de implantação do SQL do Azure fornece um banco de dados independente do SQL Server, da plataforma SQL Server sem versão, pré-instalada como um serviço totalmente gerenciado. O usuário gerencia o banco de dados enquanto a Microsoft gerencia a instância SQL, a plataforma e a infraestrutura subjacentes. Essa opção também é um exemplo de PaaS (plataforma como serviço).

Instância Gerenciada de SQL habilitada para Azure Arc

A Instância Gerenciada de SQL habilitada para Azure Arc é semelhante à Instância Gerenciada de SQL do Azure. Ela tem recursos e funcionalidades de gerenciamento semelhantes. A intenção da Instância Gerenciada de SQL habilitada para Azure Arc é fornecer os mesmos recursos de PaaS (plataforma como serviço) e experiência do Azure, enquanto o cliente escolhe e gerencia a infraestrutura usando a plataforma Kubernetes.

Comparação de recursos

Para entender as funcionalidades da Instância Gerenciada de SQL habilitada para Azure Arc, é importante examinar os principais recursos, as opções de implantação e a integração com o Azure.

Principais recursos

Como a Instância Gerenciada de SQL habilitada para Azure Arc é baseada no mecanismo do SQL Server, ela fornece recursos de instância principal quase 100% compatíveis com o SQL Server e a Instância Gerenciada de SQL do Azure. A instância inclui uma interface de linguagem T-SQL compatível e todos os recursos de segurança, desempenho e disponibilidade. Saiba mais sobre os recursos da Instância Gerenciada de SQL habilitada para Azure Arc na documentação da Microsoft.

Assim como ocorre com a Instância Gerenciada de SQL do Azure, ao implantar uma Instância Gerenciada de SQL habilitada para Azure Arc, você obtém um SQL Server sem versão pré-instalado. A Instância Gerenciada de SQL habilitada para Azure Arc usa imagens de contêiner do MCR (Microsoft Container Registry).

A Instância Gerenciada de SQL do Azure usa servidores de gateway para abstrair o aplicativo dos detalhes de conectividade subjacentes. A Instância Gerenciada de SQL habilitada para Azure Arc também fornece abstração de conexão usando os serviços LoadBalancer ou NodePort do Kubernetes.

Camadas de serviço

Assim como com a Instância Gerenciada de SQL do Azure, você pode implantar a Instância Gerenciada de SQL habilitada para Azure Arc com duas opções de implantação chamadas camadas de serviço:

  • Uso geral – Como o nome indica, essa camada de serviço é para a maioria das cargas de trabalho. Essa camada de serviço tem um limite para recursos como núcleo e memória, mas vem com alta disponibilidade básica interna por meio do Kubernetes e do armazenamento compartilhado. As instâncias na camada de uso geral são mapeadas para recursos com suporte no SQL Server Edição Standard.

  • Comercialmente Crítico – Essa camada de serviço foi projetada para cargas de trabalho que exigem o melhor desempenho e o mais alto nível de disponibilidade. Essa camada de serviço não tem nenhum limite para memória ou núcleos e usa grupos de disponibilidade para fornecer alta disponibilidade com expansão de leitura. As instâncias da camada Comercialmente Crítico são mapeadas para os recursos com suporte no SQL Server Enterprise Edition.

Ambas as camadas de serviço são cobradas por núcleo, mas também incluem a capacidade de usar o licenciamento Benefício Híbrido do Azure e uma opção para desenvolvedores sem custo. A camada de serviço Comercialmente Crítico está em versão prévia no momento e, portanto, não gera encargos de uso. Saiba mais sobre as camadas de serviço na documentação da Microsoft.

Integração do Azure

Quando você implanta uma Instância Gerenciada de SQL do Azure, a cobrança, o uso, as métricas e os logs podem ser integrados ao Azure. Além disso, você pode usar interfaces do Azure, como o portal, para implantar e configurar uma Instância Gerenciada de SQL do Azure.

A integração da Instância Gerenciada de SQL habilitada para Azure Arc com o Azure depende de qual modo conectado você usa.

A integração com o Azure é processada automaticamente com o modo conectado direto por meio de agentes do Azure Arc e do controlador de dados do Azure Arc. As interfaces do Azure, como o portal do Azure, podem ser usadas para implantação e configuração.

Se você usar o modo conectado indireto, uma quantidade mínima de dados precisará ser enviada ao Azure para fins de cobrança. Opcionalmente, você pode exportar dados, como métricas e logs. Não há suporte para a implantação e a configuração por meio do portal do Azure com o modo conectado indireto. No entanto, interfaces como a CLI do Azure e o kubectl podem ser usadas para implantação e configuração.

Comparação de funcionalidades de gerenciamento

Como a Instância Gerenciada de SQL habilitada para Azure Arc é um serviço gerenciado, é útil comparar os recursos de gerenciamento com a Instância Gerenciada de SQL do Azure. As seções a seguir comparam os recursos de mecanismo sem versão, implantação e configuração, monitoramento, alta disponibilidade, recuperação de desastres e migração.

Sem versão

Um dos benefícios de usar a Instância Gerenciada de SQL do Azure é a eliminação da necessidade de aplicar patch e atualizar o SQL Server, o sistema operacional e o software da plataforma. O mecanismo da Instância Gerenciada de SQL do Azure é conhecido como sem versão, porque não existe o conceito de uma versão principal com SQL Server. A instância é atualizada constantemente conforme o necessário com patches de software ou novas funcionalidades.

A Instância Gerenciada de SQL habilitada para Azure Arc também usa um mecanismo sem versão para que as atualizações possam ser aplicadas automaticamente conforme o necessário por meio de imagens de contêiner atualizadas. A disponibilidade é mantida usando a capacidade do Kubernetes para parar e iniciar novos contêineres.

Implantação e configuração

A implantação da Instância Gerenciada de SQL habilitada para Azure Arc é um processo fácil e declarativo muito parecido com o da Instância Gerenciada de SQL do Azure. Ao implantar uma Instância Gerenciada de SQL habilitada para Azure Arc, você pode especificar uma camada de serviço, os limites de núcleo e de memória, as especificações da classe de armazenamento e as opções de configuração de SQL, como o SQL Server Agent, a ordenação e os sinalizadores de rastreamento.

No modo conectado direto, a Instância Gerenciada de SQL habilitada para Azure Arc pode ser implantada com o portal do Azure. No modo conectado indireto, a Instância Gerenciada de SQL habilitada para Azure Arc pode ser implantada usando a CLI do Azure (com a extensão arcdata), o kubectl ou o Azure Data Studio.

Fora da instância SQL, a Instância Gerenciada de SQL habilitada para Azure Arc também pode ser configurada no modo conectado direto usando o portal do Azure. Nos dois modos conectados, as opções podem ser configuradas fora da instância SQL com a CLI do Azure ou o kubectl.

Dentro da instância SQL, as interfaces padrão do SQL Server, como sp_configure, ALTER SERVER CONFIGURATION e ALTER DATABASE podem ser usadas para configurar as opções da instância e do banco de dados.

Monitoramento

Como com a Instância Gerenciada de SQL do Azure, você pode monitorar a Instância Gerenciada de SQL habilitada para Azure Arc usando o Azure Monitor para obter as métricas-chave. Localmente no cluster, você também pode usar o monitoramento interno com os painéis do Grafana para os nós ou a instância SQL.

Os logs da Instância Gerenciada de SQL habilitada para Azure Arc podem ser exibidos no portal do Azure por meio do Log Analytics. Localmente no cluster, você também pode usar logs internos com o Kibana.

Como a Instância Gerenciada de SQL habilitada para Azure Arc é baseada no SQL Server, os arquivos ERRORLOG padrão estão disponíveis para exibir erros de SQL e detalhes da instância. A Instância Gerenciada de SQL habilitada para Azure Arc também dá suporte a todas as DMV (exibições de gerenciamento dinâmico) e os eventos estendidos disponíveis.

Alta disponibilidade

Um dos benefícios de usar um serviço gerenciado como a Instância Gerenciada de SQL habilitada para Azure Arc é a alta disponibilidade interna. Como na Instância Gerenciada de SQL do Azure, o método usado para atingir a alta disponibilidade depende da camada de serviço.

Para a camada de serviço de Uso Geral, a alta disponibilidade interna dos StatefulSets do Kubernetes é usada com o armazenamento compartilhado.

Para a camada de serviço Comercialmente Crítico, a alta disponibilidade interna é fornecida usando uma combinação de StatefulSets do Kubernetes e réplicas do grupos de disponibilidade Always On do SQL Server. As réplicas do grupo de disponibilidade são implantadas e configuradas automaticamente para o usuário. Como na Instância Gerenciada de SQL do Azure, há uma réplica somente leitura disponível para descarregar cargas de trabalho de leitura. Os bancos de dados do sistema, como mestre e modelo, fazem parte do grupo de disponibilidade. Os objetos no nível do sistema, como os trabalhos do SQL Agent, ficam disponíveis automaticamente após um evento de failover.

Os LoadBalancers e NodePorts do Kubernetes fornecem abstração de conexão para o aplicativo caso a instância seja movida dentro do cluster. Além disso, um ponto de abstração de conexão somente leitura é fornecido para as camadas de serviço Comercialmente Críticas.

Como a Microsoft gerencia toda a plataforma e a infraestrutura da Instância Gerenciada de SQL do Azure, os usuários obtêm o benefício de um SLA (Contrato de Nível de Serviço). Como os clientes precisam gerenciar a infraestrutura da Instância Gerenciada de SQL habilitada para Azure Arc, o cliente possui e gerenciar os SLAs.

Recuperação de desastre

Como na Instância Gerenciada de SQL do Azure, a Instância Gerenciada de SQL habilitada para Azure Arc fornece um sistema de backup automático para bancos de dados, incluindo a restauração pontual. Os usuários podem executar backups COPY_ONLY manualmente e restaurá-los a qualquer momento.

Os usuários configuram um RPO (objetivo de ponto de recuperação) e um período de retenção desejados. Essas configurações determinam com que frequência os backups de log de transações são feitos e por quanto tempo são mantidos.

A Instância Gerenciada de SQL do Azure fornece redundância interna para backups usando o Armazenamento do Azure. Os usuários da Instância Gerenciada de SQL habilitada para Azure Arc podem configurar uma classe de armazenamento do Kubernetes específica a ser usada para os backups de SQL, mas são responsáveis pelas necessidades de redundância.

Migração

Como as Instâncias Gerenciadas de SQL habilitadas para Azure Arc usam um mecanismo do SQL Server, versões existentes do SQL Server podem ser migradas usando backup e restauração de banco de dados. Os bancos de dados podem ser restaurados diretamente do Armazenamento do Microsoft Azure ou por meio da cópia de um backup local no contêiner da Instância Gerenciada de SQL.

Interfaces da Instância Gerenciada de SQL habilitada para Azure Arc

As seguintes interfaces podem ser usadas com a Instância Gerenciada de SQL habilitada para Azure Arc para gerenciar a instância e criar aplicativos:

SQL Server Management Studio (SSMS)

O SSMS (SQL Server Management Studio) é totalmente compatível com a consulta e o gerenciamento da Instância Gerenciada de SQL habilitada para Azure Arc.

ADS (Azure Data Studio)

O ADS (Azure Data Studio) é uma ferramenta multiplataforma que pode consultar e gerenciar uma Instância Gerenciada de SQL habilitada para Azure Arc. O ADS dá suporte a consultas que usam T-SQL juntamente com notebooks T-SQL. Além disso, você pode usar a extensão do ADS para Azure Arc a fim de criar e gerenciar recursos de serviços de dados habilitados para Azure Arc, como o controlador de dados, a Instância Gerenciada de SQL e o servidor do PostgreSQL (versão prévia).

Ferramentas de linha de comando SQL

As ferramentas de linha de comando SQL, como sqlcmd e bcp, são compatíveis com a Instância Gerenciada de SQL habilitada para Azure Arc.

Portal do Azure

Se você estiver usando o modo conectado direto, poderá criar, exibir e gerenciar os serviços de dados habilitados para Azure Arc no portal do Azure. Além disso, se você carregar dados usando o modo conectado indireto, poderá ver os detalhes da Instância Gerenciada de SQL habilitada para Azure Arc no portal do Azure.

CLI do Azure

Você pode usar a extensão arcdata com a CLI (interface de linha de comando) do Azure multiplataforma para criar, exibir e gerenciar serviços de dados habilitados para Azure Arc, como a Instância Gerenciada de SQL. A CLI do Azure só pode ser usada no modo conectado indireto para implantar uma Instância Gerenciada de SQL habilitada para Azure Arc. A CLI do Azure é a principal interface para carregar dados de cobrança, métricas e logs ao usar o modo conectado indireto.

kubectl

Você pode usar a CLI (interface de linha de comando) kubectl multiplataforma para criar, ver e gerenciar serviços de dados habilitados para Azure Arc, incluindo a Instância Gerenciada de SQL. A CLI do Azure é a interface de linha de comando preferencial a ser usada com a Instância Gerenciada de SQL habilitada para Azure Arc, mas você pode usar arquivos YAML com o kubectl para criar e gerenciar recursos. O kubectl só pode ser usado no modo conectado indireto para implantar uma Instância Gerenciada de SQL habilitada para Azure Arc. Há alguns cenários, como editar a configuração de restauração pontual padrão, que exigem o uso do kubectl.

Drivers SQL

Você pode usar qualquer driver do SQL Server com suporte para que o aplicativo se conecte com uma Instância Gerenciada de SQL habilitada para Azure Arc e execute consultas nela. O suporte ao driver está incluído para linguagens de programação populares, como C#, Java, Node.js, PHP, Python e Ruby.

Verificar seu conhecimento

1.

Qual camada de serviço fornece alta disponibilidade com réplicas usando Grupos de Disponibilidade Always On?

2.

Você pode exibir dados de cobrança, métricas e logs da Instância Gerenciada de SQL habilitada para Azure Arc no portal do Azure usando o modo conectado indireto.

3.

Os usuários configuram o backup automatizado para a Instância Gerenciada de SQL habilitada para Azure Arc usando quais opções?

4.

Qual ferramenta pode ser usada para gerenciar uma Instância Gerenciada de SQL habilitada para Azure Arc?