Criar bancos de dados SQL altamente disponíveis com o Azure Stack Hub
Importante
A partir do build 2108 do Azure Stack Hub, os provedores de recursos SQL e MySQL são oferecidos a assinaturas que receberam acesso. Se você quiser começar a usar esse recurso ou se precisar atualizar de uma versão anterior, abra um caso de suporte e nossos engenheiros de suporte o guiarão pelo processo de implantação ou atualização.
Como um operador do Azure Stack Hub, você pode configurar VMs de servidor para hospedar bancos de dados do SQL Server. Depois que um servidor de hospedagem SQL é criado e gerenciado pelo Azure Stack Hub, os usuários que assinaram os serviços SQL podem criar facilmente bancos de dados SQL.
Este artigo mostra como usar um modelo de início rápido do Azure Stack Hub para criar um grupo de disponibilidade AlwaysOn do SQL Server, adicioná-lo como um Servidor de Hospedagem SQL do Azure Stack Hub e, em seguida, criar um banco de dados SQL altamente disponível.
O que você aprenderá:
- Crie um grupo de disponibilidade AlwaysOn do SQL Server a partir de um modelo.
- Configure o grupo de disponibilidade AlwaysOn do SQL Server como um Servidor de Hospedagem SQL do Azure Stack Hub.
- Crie um banco de dados SQL altamente disponível.
Um grupo de disponibilidade AlwaysOn do SQL Server de duas VMs será criado e configurado usando os itens disponíveis do Azure Stack Marketplace.
Antes de começar, verifique se o provedor de recursos do SQL Server foi instalado com êxito e se os seguintes itens estão disponíveis no Azure Stack Marketplace:
Importante
Todos os itens a seguir são necessários para que o modelo de início rápido do Azure Stack Hub seja usado.
Windows Server 2016 Datacenter.
SQL Server 2016 SP1 ou SP2 (Enterprise ou Developer) na imagem do servidor Windows Server 2016.
Observação
A versão padrão não é suportada. Ao configurar o grupo de disponibilidade AlwaysOn do SQL Server com a versão SQL Server Standard, apenas um banco de dados pode ser criado para um grupo de disponibilidade. Essa limitação torna a versão Standard inadequada para nosso cenário. Para mais detalhes, consulte o documento aqui.
Extensão de IaaS do SQL Server versão 1.3.20180 ou superior. A Extensão de IaaS do SQL instala os componentes necessários exigidos pelos itens do SQL Server do Marketplace para todas as versões do Windows. Ele permite que configurações específicas do SQL sejam definidas em VMs (máquinas virtuais) SQL. Se a extensão não estiver instalada no marketplace local, o provisionamento do SQL falhará.
Para saber mais sobre como adicionar itens ao Azure Stack Marketplace, consulte a visão geral do Azure Stack Hub Marketplace.
Criar um grupo de disponibilidade AlwaysOn do SQL Server
Use as etapas nesta seção para implantar o grupo de disponibilidade AlwaysOn do SQL Server usando o modelo de início rápido sql-2016-alwayson do Azure Stack Hub. Este modelo implanta duas instâncias do SQL Server Enterprise ou Developer em um Grupo de Disponibilidade AlwaysOn. Ele cria os seguintes recursos:
- Um grupo de segurança de rede.
- Uma rede virtual.
- Quatro contas de armazenamento (uma para o Active Directory (AD), uma para SQL, uma para testemunha de compartilhamento de arquivos e uma para diagnóstico de VM).
- Quatro endereços IP públicos (um para o AD, dois para cada VM do SQL e um para o balanceador de carga público associado ao ouvinte SQL AlwaysOn).
- Um balanceador de carga externo para VMs do SQL com IP público associado ao ouvinte AlwaysOn do SQL.
- Uma VM (Windows Server 2016) configurada como Controlador de Domínio para uma nova floresta com um único domínio.
- Duas VMs (Windows Server 2016) configuradas com SQL Server 2016 SP1 ou SP2 Enterprise ou Developer Edition e clusterizadas. Devem ser imagens de mercado.
- Uma VM (Windows Server 2016) configurada como a testemunha de compartilhamento de arquivos para o cluster.
- Um conjunto de disponibilidade que contém o SQL e as VMs de testemunha de compartilhamento de arquivos.
-
Entre no portal do usuário:
- Para uma implantação de sistema integrado, o endereço do portal varia de acordo com a região da sua solução e o nome de domínio externo. Ela estará no formato
https://portal.<region>.<FQDN>
. - Para o ASDK (Azure Stack Development Kit), o endereço do portal é
https://portal.local.azurestack.external
.
- Para uma implantação de sistema integrado, o endereço do portal varia de acordo com a região da sua solução e o nome de domínio externo. Ela estará no formato
Selecione + Criar um recurso>Personalizado e, em seguida, Implantação de modelo.
Na folha Implantação personalizada, selecione Editar modelo de início rápido do modelo>e use a lista suspensa de modelos personalizados disponíveis para selecionar o modelo sql-2016-alwayson. Selecione OK e, em seguida, Salvar.
Na folha Implantação personalizada, selecione Editar parâmetros e examine os valores padrão. Modifique os valores conforme necessário para fornecer todas as informações de parâmetro necessárias e selecione OK.
No mínimo:
- Forneça senhas complexas para os parâmetros ADMINPASSWORD, SQLSERVERSERVICEACCOUNTPASSWORD e SQLAUTHPASSWORD.
- Insira o sufixo DNS para pesquisa inversa em todas as letras minúsculas para o parâmetro DNSSUFFIX (azurestack.external para instalações do ASDK antes da versão 2107).
Na folha Implantação personalizada, escolha a assinatura a ser usada e crie um novo grupo de recursos ou selecione um grupo de recursos existente para a implantação personalizada.
Em seguida, selecione o local do grupo de recursos (local para instalações do ASDK antes da versão 2107) e clique em Criar. As configurações de implantação personalizadas serão validadas e, em seguida, a implantação será iniciada.
No portal do usuário, selecione Grupos de recursos e, em seguida, o nome do grupo de recursos que você criou para a implantação personalizada (resource-group para este exemplo). Exiba o status da implantação para garantir que todas as implantações tenham sido concluídas com êxito.
Em seguida, examine os itens do grupo de recursos e selecione o item de endereço IP público do nome> do grupo de recursos SQLPIPsql<. Registre o endereço IP público e o FQDN completo do IP público do balanceador de carga. Você precisará fornecer isso a um operador do Azure Stack Hub para que ele possa criar um servidor de hospedagem SQL aproveitando esse grupo de disponibilidade SQL AlwaysOn.
Observação
A implantação do modelo levará várias horas para ser concluída.
Ativar propagação automática
Depois que o modelo tiver implantado e configurado com êxito o grupo de disponibilidade SQL AlwaysON, você deverá habilitar a propagação automática em cada instância do SQL Server no grupo de disponibilidade.
Quando você cria um grupo de disponibilidade com propagação automática, o SQL Server cria automaticamente as réplicas secundárias para cada banco de dados no grupo sem qualquer outra intervenção manual necessária. Essa medida garante a alta disponibilidade de bancos de dados AlwaysOn.
Use esses comandos SQL para configurar a propagação automática para o grupo de disponibilidade AlwaysOn. Substitua <PrimaryInstanceName>
pelo nome do SQL Server da instância primária, <SecondaryInstanceName>
pelo nome do SQL Server da instância secundária e <availability_group_name>
pelo nome do grupo de disponibilidade AlwaysOn, conforme necessário.
Na instância SQL primária:
ALTER AVAILABILITY GROUP [<availability_group_name>]
MODIFY REPLICA ON '<PrimaryInstanceName>'
WITH (SEEDING_MODE = AUTOMATIC)
GO
ALTER AVAILABILITY GROUP [<availability_group_name>]
MODIFY REPLICA ON '<SecondaryInstanceName>'
WITH (SEEDING_MODE = AUTOMATIC)
GO
Em instâncias SQL secundárias:
ALTER AVAILABILITY GROUP [<availability_group_name>] GRANT CREATE ANY DATABASE
GO
Configurar autenticação de banco de dados independente
Antes de adicionar um banco de dados independente a um grupo de disponibilidade, verifique se a opção de servidor autenticação de banco de dados independente está definida como 1 em cada instância de servidor que hospeda uma réplica de disponibilidade do grupo de disponibilidade. Para obter mais informações, consulte autenticação de banco de dados independente.
Use estes comandos para definir a opção de servidor de autenticação de banco de dados independente para cada instância do SQL Server no grupo de disponibilidade:
EXEC sp_configure 'contained database authentication', 1
GO
RECONFIGURE
GO
Configurar um servidor de hospedagem SQL do Azure Stack Hub
Depois que o grupo de disponibilidade AlwayOn do SQL Server tiver sido criado e configurado corretamente, um operador do Azure Stack Hub precisará configurá-lo como um Servidor de Hospedagem SQL do Azure Stack Hub.
Certifique-se de usar o IP público ou o FQDN completo para o IP público do balanceador de carga SQL registrado anteriormente quando o grupo de recursos do grupo de disponibilidade SQL AlwaysOn foi criado (nome do grupo de recursos SQLPIPsql><). Além disso, você precisa saber as credenciais de autenticação do SQL Server usadas para acessar as instâncias do SQL no grupo de disponibilidade AlwaysOn.
Observação
Essa etapa deve ser executada no portal do administrador do Azure Stack Hub por um operador do Azure Stack Hub.
Com o IP público do ouvinte do balanceador de carga do grupo de disponibilidade SQL AlwaysOn e as informações de logon de autenticação SQL, um operador do Azure Stack Hub pode criar um SQL Hosting Server usando o grupo de disponibilidade SQL AlwaysOn.
Verifique também se você criou planos e ofertas para disponibilizar a criação de banco de dados SQL AlwaysOn para os usuários. O operador precisará adicionar o serviço Microsoft.SqlAdapter a um plano e criar uma nova cota especificamente para bancos de dados altamente disponíveis. Para obter mais informações sobre como criar planos, consulte Visão geral de serviço, plano, oferta e assinatura.
Dica
O serviço Microsoft.SqlAdapter não estará disponível para adição aos planos até que o provedor de recursos do SQL Server tenha sido implantado.
Criar um banco de dados SQL altamente disponível
Depois que o grupo de disponibilidade SQL AlwaysOn tiver sido criado, configurado e adicionado como um Servidor de Hospedagem SQL do Azure Stack Hub por um operador do Azure Stack Hub, um usuário locatário com uma assinatura incluindo recursos de banco de dados do SQL Server poderá criar bancos de dados SQL que dão suporte à funcionalidade AlwaysOn. Eles podem criar esses bancos de dados seguindo as etapas nesta seção.
Observação
Execute estas etapas no portal do usuário do Azure Stack Hub como um usuário locatário com uma assinatura que fornece recursos do SQL Server (serviço Microsoft.SQLAdapter).
-
Entre no portal do usuário:
- Para uma implantação de sistema integrado, o endereço do portal varia de acordo com a região da sua solução e o nome de domínio externo. Ela estará no formato
https://portal.<region>.<FQDN>
. - Para o ASDK (Azure Stack Development Kit), o endereço do portal é
https://portal.local.azurestack.external
.
- Para uma implantação de sistema integrado, o endereço do portal varia de acordo com a região da sua solução e o nome de domínio externo. Ela estará no formato
Selecione + Criar um recurso>Dados + Armazenamento e, em seguida, Banco de Dados SQL.
Forneça as informações de propriedade de banco de dados necessárias. Essas informações incluem nome, agrupamento, tamanho máximo e a assinatura, o grupo de recursos e o local a serem usados para a implantação.
Selecione SKU e escolha o SKU apropriado do SQL Hosting Server a ser usado. Neste exemplo, o operador do Azure Stack Hub criou o SKU Enterprise-HA para dar suporte à alta disponibilidade para grupos de disponibilidade SQL AlwaysOn.
Selecione Logon>Crie um novo logon e forneça as credenciais de autenticação SQL a serem usadas para o novo banco de dados. Quando terminar, selecione OK e, em seguida , Criar para iniciar o processo de implantação do banco de dados.
Quando a implantação do banco de dados SQL for concluída com êxito, examine as propriedades do banco de dados para descobrir a cadeia de conexão a ser usada para se conectar ao novo banco de dados altamente disponível.