Criar bancos de dados SQL altamente disponíveis com o Hub Azure StackCreate highly available SQL databases with Azure Stack Hub

Como um operador de Hub Azure Stack, você pode configurar VMs de servidor para hospedar bancos de dados SQL Server.As an Azure Stack Hub Operator, you can configure server VMs to host SQL Server databases. Depois que um servidor de hospedagem SQL é criado e gerenciado pelo Hub Azure Stack, os usuários que assinaram os serviços SQL podem facilmente criar bancos de dados SQL.After a SQL hosting server is created and managed by Azure Stack Hub, users who have subscribed to SQL services can easily create SQL databases.

Este artigo mostra como usar um modelo de início rápido do hub de Azure Stack para criar um grupo de disponibilidade SQL Server AlwaysOn, adicioná-lo como um servidor de hospedagem SQL de hub de Azure Stack e, em seguida, criar um banco de dados SQL altamente disponível.This article shows how to use an Azure Stack Hub quickstart template to create a SQL Server AlwaysOn availability group, add it as an Azure Stack Hub SQL Hosting Server, and then create a highly available SQL database.

O que você aprenderá:What you'll learn:

  • Crie um SQL Server grupo de disponibilidade AlwaysOn a partir de um modelo.Create a SQL Server AlwaysOn availability group from a template.
  • Configure o SQL Server grupo de disponibilidade AlwaysOn como um servidor de hospedagem SQL Azure Stack Hub.Configure the SQL Server AlwaysOn availability group as an Azure Stack Hub SQL Hosting Server.
  • Crie um banco de dados SQL altamente disponível.Create a highly available SQL database.

Uma VM SQL Server grupo de disponibilidade AlwaysOn será criada e configurada usando itens do Azure Stack Marketplace disponíveis.A two VM SQL Server AlwaysOn availability group will be created and configured using available Azure Stack Marketplace items.

Antes de iniciar, verifique se o provedor de recursos de SQL Server foi instalado com êxito e se os seguintes itens estão disponíveis no Azure Stack Marketplace:Before starting, ensure that the SQL Server resource provider has been successfully installed and the following items are available in Azure Stack Marketplace:

Importante

Todos os itens a seguir são necessários para que o modelo de início rápido do hub de Azure Stack seja usado.All of the following are required for the Azure Stack Hub quickstart template to be used.

  • Windows Server 2016 datacenter.Windows Server 2016 Datacenter.
  • SQL Server 2016 SP1 ou SP2 (Enterprise, Standard ou Developer) na imagem do servidor do Windows Server 2016.SQL Server 2016 SP1 or SP2 (Enterprise, Standard, or Developer) on Windows Server 2016 server image.
  • SQL Server a extensão IaaS versão 1.3.20180 ou superior.SQL Server IaaS Extension version 1.3.20180 or higher. A extensão de IaaS do SQL instala os componentes necessários que são necessários para o Marketplace SQL Server itens para todas as versões do Windows.The SQL IaaS Extension installs necessary components that are required by the Marketplace SQL Server items for all Windows versions. Ele permite que as configurações específicas do SQL sejam configuradas em VMs (máquinas virtuais) do SQL.It enables SQL-specific settings to be configured on SQL virtual machines (VMs). Se a extensão não estiver instalada no Marketplace local, o provisionamento do SQL falhará.If the extension isn't installed in the local marketplace, provisioning of SQL will fail.
  • Extensão de script personalizado para Windows versão 1.9.1 ou superior.Custom script extension for Windows version 1.9.1 or higher. A extensão de script personalizado é uma ferramenta que pode ser usada para iniciar automaticamente tarefas de personalização de VM pós-implantação.Custom Script Extension is a tool that can be used to automatically launch post-deployment VM customization tasks.
  • Configuração de estado desejado do PowerShell (DSC) versão 2.76.0.0 ou superior.PowerShell Desired State Configuration (DSC) version 2.76.0.0 or higher. O DSC é uma plataforma de gerenciamento no Windows PowerShell que permite a implantação e o gerenciamento de dados de configuração para serviços de software.DSC is a management platform in Windows PowerShell that enables deploying and managing configuration data for software services. A plataforma também gerencia o ambiente no qual esses serviços são executados.The platform also manages the environment in which these services run.

Para saber mais sobre como adicionar itens ao Azure Stack Marketplace, consulte a visão geral do Marketplace do hub de Azure Stack.To learn more about adding items to Azure Stack Marketplace, see the Azure Stack Hub Marketplace overview.

Criar um SQL Server grupo de disponibilidade AlwaysOnCreate a SQL Server AlwaysOn availability group

Use as etapas nesta seção para implantar o SQL Server grupo de disponibilidade AlwaysOn usando o modelo de início rápido do hub de Azure Stack SQL-2016-AlwaysOn.Use the steps in this section to deploy the SQL Server AlwaysOn availability group by using the sql-2016-alwayson Azure Stack Hub quickstart template. Este modelo implanta duas instâncias de SQL Server Enterprise ou de desenvolvedor em um grupo de disponibilidade Always On.This template deploys two SQL Server Enterprise or Developer instances in an Always On Availability Group. Ele cria os seguintes recursos:It creates the following resources:

  • Um grupo de segurança de rede.A network security group.
  • Uma rede virtual.A virtual network.
  • Quatro contas de armazenamento (uma para Active Directory (AD), uma para SQL, uma para testemunha de compartilhamento de arquivos e outra para diagnóstico de VM).Four storage accounts (one for Active Directory (AD), one for SQL, one for file share witness, and one for VM diagnostics).
  • Quatro endereços IP públicos (um para o AD, dois para cada VM do SQL e outro para o balanceador de carga público vinculado ao ouvinte AlwaysOn do SQL).Four public IP addresses (one for AD, two for each SQL VM, and one for public load balancer bound to SQL AlwaysOn listener).
  • Um balanceador de carga externo para VMs do SQL com IP público associado ao ouvinte AlwaysOn do SQL.One external load balancer for SQL VMs with Public IP bound to the SQL AlwaysOn listener.
  • Uma VM (Windows Server 2016) configurada como controlador de domínio para uma nova floresta com um único domínio.One VM (Windows Server 2016) configured as Domain Controller for a new forest with a single domain.
  • Duas VMs (Windows Server 2016) configuradas com SQL Server 2016 SP1 ou SP2 Enterprise ou Developer Edition e clusterizado.Two VMs (Windows Server 2016) configured with SQL Server 2016 SP1 or SP2 Enterprise or Developer Edition and clustered. Elas devem ser imagens do Marketplace.These must be marketplace images.
  • Uma VM (Windows Server 2016) configurada como a testemunha de compartilhamento de arquivos para o cluster.One VM (Windows Server 2016) configured as the file share witness for the cluster.
  • Um conjunto de disponibilidade que contém as VMs de testemunha de compartilhamento de arquivos e SQL.One availability set containing the SQL and file share witness VMs.
  1. Entre no portal do usuário:Sign in to the user portal:

    • 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.For an integrated system deployment, the portal address will vary based on your solution's region and external domain name. Ele estará no formato de https://portal.<region>.<FQDN> .It will be in the format of https://portal.<region>.<FQDN>.
    • Para o Kit de Desenvolvimento do Azure Stack (ASDK), o endereço do portal é https://portal.local.azurestack.external .For the Azure Stack Development Kit (ASDK), the portal address is https://portal.local.azurestack.external.
  2. Selecione + criar um recurso > personalizadoe, em seguida, implantação de modelo.Select + Create a resource > Custom, and then Template deployment.

    Implantação de modelo personalizado no portal do administrador do Hub Azure Stack

  3. Na folha implantação personalizada , selecione Editarmodelo > deinício rápido modelo e, em seguida, use a lista suspensa de modelos personalizados disponíveis para selecionar o modelo SQL-2016-AlwaysOn .On the Custom deployment blade, select Edit template > Quickstart template and then use the drop-down list of available custom templates to select the sql-2016-alwayson template. Selecione OK e, em seguida, Salvar.Select OK, then Save.

    Editar modelo no portal do administrador do Hub Azure StackEdit template in Azure Stack Hub administrator portal

  4. Na folha implantação personalizada , selecione Editar parâmetros e examine os valores padrão.On the Custom deployment blade, select Edit parameters and review the default values. Modifique os valores conforme necessário para fornecer todas as informações de parâmetro necessárias e, em seguida, selecione OK.Modify the values as necessary to provide all required parameter information and then select OK.

    No mínimo:At a minimum:

    • Forneça senhas complexas para os parâmetros ADMINPASSWORD, SQLSERVERSERVICEACCOUNTPASSWORD e SQLAUTHPASSWORD.Provide complex passwords for the ADMINPASSWORD, SQLSERVERSERVICEACCOUNTPASSWORD, and SQLAUTHPASSWORD parameters.
    • Insira o sufixo DNS para pesquisa inversa em todas as letras minúsculas para o parâmetro DNSSUFFIX (azurestack. external para instalações ASDK).Enter the DNS Suffix for reverse lookup in all lowercase letters for the DNSSUFFIX parameter (azurestack.external for ASDK installations).

    Editar parâmetros no portal do administrador do Hub Azure StackEdit parameters in Azure Stack Hub administrator portal

  5. 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.On the Custom deployment blade, choose the subscription to use and create a new resource group or select an existing resource group for the custom deployment.

    Em seguida, selecione o local do grupo de recursos (local para instalações ASDK) e, em seguida, clique em criar.Next, select the resource group location (local for ASDK installations) and then click Create. As configurações de implantação personalizadas serão validadas e, em seguida, a implantação será iniciada.The custom deployment settings will be validated and then the deployment will start.

    Escolha a assinatura no portal do administrador do Hub Azure StackChoose subscription in Azure Stack Hub administrator portal

  6. No portal do usuário, selecione grupos de recursos e o nome do grupo de recursos que você criou para a implantação personalizada (grupo de recursos para este exemplo).In the user portal, select Resource groups and then the name of the resource group you created for the custom deployment (resource-group for this example). Exiba o status da implantação para garantir que todas as implantações tenham sido concluídas com êxito.View the status of the deployment to ensure all deployments have completed successfully.

    Em seguida, examine os itens do grupo de recursos e selecione o item de endereço IP público **SQLPIPsql <resource group name> ** .Next, review the resource group items and select the SQLPIPsql<resource group name> public IP address item. Registre o endereço IP público e o FQDN completo do IP público do balanceador de carga.Record the public IP address and full FQDN of the load balancer public IP. Você precisará fornecer isso a um operador de Hub de Azure Stack para que possa criar um servidor de hospedagem SQL aproveitando esse grupo de disponibilidade AlwaysOn do SQL.You'll need to provide this to an Azure Stack Hub operator so they can create a SQL hosting server leveraging this SQL AlwaysOn availability group.

    Observação

    A implantação do modelo levará várias horas para ser concluída.The template deployment will take several hours to complete.

Habilitar propagação automáticaEnable automatic seeding

Depois que o modelo tiver implantado e configurado com êxito o grupo de disponibilidade AlwaysON do SQL, você deverá habilitar a propagação automática em cada instância do SQL Server no grupo de disponibilidade.After the template has successfully deployed and configured the SQL AlwaysON availability group, you must enable automatic seeding on each instance of SQL Server in the availability group.

Quando você cria um grupo de disponibilidade com propagação automática, SQL Server cria automaticamente as réplicas secundárias para cada banco de dados no grupo sem nenhuma outra intervenção manual necessária.When you create an availability group with automatic seeding, SQL Server automatically creates the secondary replicas for every database in the group without any other manual intervention necessary. Essa medida garante a alta disponibilidade de bancos de dados AlwaysOn.This measure ensures high availability of AlwaysOn databases.

Use esses comandos SQL para configurar a propagação automática para o grupo de disponibilidade AlwaysOn.Use these SQL commands to configure automatic seeding for the AlwaysOn availability group. Substitua <PrimaryInstanceName> pela instância primária SQL Server nome, <SecondaryInstanceName> com a instância secundária SQL Server nome e <availability_group_name> com o nome do grupo de disponibilidade AlwaysOn, conforme necessário.Replace <PrimaryInstanceName> with the primary instance SQL Server name, <SecondaryInstanceName> with the secondary instance SQL Server name and <availability_group_name> with the AlwaysOn availability group name as necessary.

Na instância do SQL primária:On the primary SQL instance:

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

Script de instância do SQL primário

Em instâncias de SQL secundárias:On secondary SQL instances:

ALTER AVAILABILITY GROUP [<availability_group_name>] GRANT CREATE ANY DATABASE
GO

Script de instância do SQL secundário

Configurar a autenticação de banco de dados independenteConfigure contained database authentication

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.Before adding a contained database to an availability group, ensure that the contained database authentication server option is set to 1 on every server instance that hosts an availability replica for the availability group. Para obter mais informações, veja autenticação de banco de dados independente.For more information, see contained database authentication.

Use estes comandos para definir a opção de servidor de autenticação de banco de dados independente para cada instância de SQL Server no grupo de disponibilidade:Use these commands to set the contained database authentication server option for each SQL Server instance in the availability group:

EXEC sp_configure 'contained database authentication', 1
GO
RECONFIGURE
GO

Definir autenticação de banco de dados independente

Configurar um servidor de hospedagem SQL de Hub de Azure StackConfigure an Azure Stack Hub SQL Hosting Server

Depois que o SQL Server grupo de disponibilidade AlwaysOn tiver sido criado e configurado corretamente, um operador de Hub de Azure Stack precisará configurá-lo como um servidor de hospedagem SQL de Hub de Azure Stack.After the SQL Server AlwayOn availability group has been created and properly configured, an Azure Stack Hub operator has to configure it as an Azure Stack Hub SQL Hosting Server.

Certifique-se de usar o IP público ou o FQDN completo para o IP público do balanceador de carga do SQL gravado anteriormente quando o grupo de recursos do grupo de disponibilidade AlwaysOn do SQL foi criado (**SQLPIPsql <resource group name> **).Be sure to use the public IP or full FQDN for the public IP of the SQL load balancer recorded previously when the SQL AlwaysOn availability group's resource group was created (SQLPIPsql<resource group name>). Além disso, você precisa saber o SQL Server credenciais de autenticação usadas para acessar as instâncias do SQL no grupo de disponibilidade AlwaysOn.In addition, you need to know the SQL Server authentication credentials used to access the SQL instances in the AlwaysOn availability group.

Observação

Esta etapa deve ser executada no portal do administrador do hub de Azure Stack por um operador de Hub de Azure Stack.This step must be run from the Azure Stack Hub administrator portal by an Azure Stack Hub operator.

Com as informações de logon de IP público do grupo de disponibilidade do SQL AlwaysOn e de autenticação do SQL, um operador de Hub Azure Stack pode criar um servidor de hospedagem SQL usando o grupo de disponibilidade AlwaysOn do SQL.With the SQL AlwaysOn availability group's load balancer listener public IP and SQL authentication login information, an Azure Stack Hub operator can create a SQL Hosting Server using the SQL AlwaysOn availability group.

Além disso, certifique-se de ter criado planos e ofertas para tornar a criação de banco de dados AlwaysOn do SQL disponível para os usuários.Also ensure that you have created plans and offers to make SQL AlwaysOn database creation available for users. 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.The operator will need to add the Microsoft.SqlAdapter service to a plan and create a new quota specifically for highly available databases. Para obter mais informações sobre a criação de planos, consulte visão geral de serviço, plano, oferta e assinatura.For more information about creating plans, see Service, plan, offer, subscription overview.

Dica

O serviço Microsoft. sqladapter não estará disponível para adição a planos até que o provedor de recursos de SQL Server tenha sido implantado.The Microsoft.SqlAdapter service won't be available to add to plans until the SQL Server resource provider has been deployed.

Criar um banco de dados SQL altamente disponívelCreate a highly available SQL database

Depois que o grupo de disponibilidade AlwaysOn do SQL tiver sido criado, configurado e adicionado como um servidor de hospedagem SQL de Hub de Azure Stack por um operador de Hub de Azure Stack, um usuário locatário com uma assinatura, incluindo recursos de banco de dados SQL Server, poderá criar bancos de dados SQL com suporte à funcionalidade AlwaysOn.After the SQL AlwaysOn availability group has been created, configured, and added as an Azure Stack Hub SQL Hosting Server by an Azure Stack Hub operator, a tenant user with a subscription including SQL Server database capabilities can create SQL databases supporting AlwaysOn functionality. Eles podem criar esses bancos de dados seguindo as etapas nesta seção.They can create those databases by following the steps in this section.

Observação

Execute estas etapas no portal do usuário do hub de Azure Stack como um usuário de locatário com uma assinatura que fornece recursos de SQL Server (serviço Microsoft. sqladapter).Run these steps from the Azure Stack Hub user portal as a tenant user with a subscription providing SQL Server capabilities (Microsoft.SQLAdapter service).

  1. Entre no portal do usuário:Sign in to the user portal:

    • 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.For an integrated system deployment, the portal address will vary based on your solution's region and external domain name. Ele estará no formato de https://portal.<region>.<FQDN> .It will be in the format of https://portal.<region>.<FQDN>.
    • Para o Kit de Desenvolvimento do Azure Stack (ASDK), o endereço do portal é https://portal.local.azurestack.external .For the Azure Stack Development Kit (ASDK), the portal address is https://portal.local.azurestack.external.
  2. Selecione + criar um recurso > ** + armazenamento de dados**e, em seguida, SQL Database.Select + Create a resource > Data + Storage, and then SQL Database.

    Forneça as informações de propriedade de banco de dados necessárias.Provide the required database property information. Essas informações incluem nome, agrupamento, tamanho máximo e assinatura, grupo de recursos e local a serem usados para a implantação.This info includes name, collation, maximum size, and the subscription, resource group, and location to use for the deployment.

    Criar banco de dados SQL no portal do usuário do Hub Azure Stack

  3. Selecione SKU e escolha o SKU do servidor de hospedagem SQL apropriado a ser usado.Select SKU and then choose the appropriate SQL Hosting Server SKU to use. Neste exemplo, o operador Hub de Azure Stack criou a SKU Enterprise-ha para dar suporte à alta disponibilidade para grupos de disponibilidade AlwaysOn do SQL.In this example, the Azure Stack Hub operator has created the Enterprise-HA SKU to support high availability for SQL AlwaysOn availability groups.

    Selecionar SKU no portal do usuário do hub de Azure Stack

  4. Selecione logon > criar um novo logon e forneça as credenciais de autenticação do SQL a serem usadas para o novo banco de dados.Select Login > Create a new login and then provide the SQL authentication credentials to be used for the new database. Quando terminar, selecione OK e criar para iniciar o processo de implantação do banco de dados.When finished, select OK and then Create to begin the database deployment process.

    Criar logon no portal do usuário do hub de Azure Stack

  5. 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.When the SQL database deployment completes successfully, review the database properties to discover the connection string to use for connecting to the new highly available database.

    Exibir cadeia de conexão no portal do usuário do hub de Azure Stack

Próximas etapasNext steps

Atualizar o provedor de recursos do SQLUpdate the SQL resource provider