Planear, implementar e verificar o SQL do Azure
Depois de selecionar uma carga de trabalho para migrar ou criar no Azure SQL, você precisa planejar sua implantação, implantar de acordo e verificar se a implantação foi bem-sucedida. Nesta unidade, você aprende vários métodos para cada etapa do processo.
Planejamento pré-implantação
Antes de começar a implantar coisas no Azure, é importante entender seus requisitos e como eles são mapeados para ofertas no Azure SQL. Usando o que você aprendeu no módulo de introdução do SQL do Azure, faça um plano. Precisa de responder às seguintes perguntas:
- Método de implantação: portal do Azure ou interface de linha de comando?
- Opção de implantação: máquina virtual, banco de dados, pool elástico, instância gerenciada ou pool de instâncias?
- Modelo de compra (somente Banco de Dados SQL do Azure): DTU ou vCore?
- Nível de serviço: Uso geral, Crítico para os negócios ou Hiperescala?
- Hardware: Gen5, ou algo novo?
- Dimensionamento: Número de vCores e tamanho máximo de dados?
Talvez antes de responder às perguntas anteriores, você também precise escolher uma carga de trabalho que será migrada para o Azure SQL ou nascerá na nuvem. Se estiver a migrar, estarão disponíveis várias ferramentas e recursos para o ajudar a planear, avaliar, migrar e otimizar as bases de dados e a aplicação. Nós fornecemos recursos no final deste módulo.
Limites de recursos
O módulo de introdução do SQL do Azure descreveu limites, taxas e recursos, como IOPS ou OLTP na memória. Há outros limites de recursos afetados pela sua escolha de Instância Gerenciada SQL do Azure, Banco de Dados SQL do Azure ou opções dentro destas opções:
- Memória
- Tamanho de registo máximo
- Taxa de log de transações
- IOPS de dados
- Tamanho da tempdb
- Máximo de processos de trabalho em simultâneo
- Retenção da cópia de segurança
Os limites para a Instância Gerenciada SQL do Azure e o Banco de Dados SQL do Azure dependem de sua escolha de modelo de compra, camada de serviço e número de vCores, ou DTU somente no Banco de Dados SQL do Azure.
O Azure SQL Managed Instance e a Base de Dados SQL são ofertas PaaS (plataforma como serviço). Restringir essas opções não deve inibir sua capacidade de usar totalmente um serviço gerenciado do SQL Server.
Em uma instância do Banco de Dados SQL do Azure de uso geral, sua escolha de computação provisionada ou sem servidor também afeta esses limites. Antes de implantar, revise o que está incluído na implantação planejada para garantir que você está começando com o que precisa.
Os recursos SQL do Azure têm limites gerais de recursos por assinatura e por região. Se precisar de aumentar os seus limites, pode solicitar um aumento de quota no portal do Azure.
Implementação
Depois de concluir o planejamento de pré-implantação, é hora de colocar o plano em ação. Nesta etapa, você implanta o SQL do Azure usando o portal do Azure ou a linha de comando, determina a configuração de rede e faz uma conexão inicial.
Para o Banco de Dados SQL do Azure e a Instância Gerenciada SQL do Azure, há essencialmente seis painéis no portal do Azure para preencher durante uma implantação.
Servidor
Ao criar uma instância gerida do SQL do Azure, o processo de atribuição de nome do servidor é igual ao do SQL Server. Para bancos de dados e pools elásticos, é necessário um servidor do Banco de Dados SQL do Azure. Um servidor do Banco de Dados SQL do Azure é um servidor lógico que atua como um ponto administrativo central para um banco de dados único ou em pool. Inclui inícios de sessão, regras de firewall, regras de auditoria, políticas de deteção de ameaças e grupos de ativação pós-falha Você aprenderá mais sobre esses elementos mais tarde.
Este servidor lógico não expõe nenhum acesso ou recursos no nível da instância, como acontece com a Instância Gerenciada SQL do Azure. Para os servidores da Base de Dados SQL do Azure, o nome do servidor tem de ser único em todo o Azure.
Computação e armazenamento
No módulo anterior deste caminho de aprendizagem, você aprendeu sobre opções e recomendações para computação e armazenamento, incluindo níveis de serviço, modelos de compra e gerações de hardware. Você precisa selecionar a configuração desejada durante a implantação. Também deverá determinar o número de vCores e o Tamanho máximo dos dados.
Geralmente, se você estiver migrando, use um tamanho semelhante ao que você usa localmente. Você também pode usar ferramentas como o recomendado de SKU do Assistente de Migração de Dados para estimar o número de vCores e o tamanho máximo de dados com base em sua carga de trabalho atual.
O tamanho máximo dos dados não é necessariamente o tamanho dos seus dados atuais. É a quantidade máxima de espaço de dados que pode ser alocada à base de dados, Ele também ajuda você a entender a alocação de espaço de log, que é dimensionado com o tamanho máximo de dados.
Configuração da rede
As opções de rede para a Base de Dados SQL do Azure e o Azure SQL Managed Instance são diferentes. Quando você implanta um Banco de Dados SQL do Azure, o padrão atual é Sem acesso.
Você pode selecionar um ponto de extremidade público ou privado. No exercício que se segue a esta unidade, utilize o ponto de extremidade público e defina a opção Permitir que os serviços e recursos do Azure acedam a este servidor como Sim. Outros serviços do Azure podem acessar o banco de dados, por exemplo, o Azure Data Factory ou as Máquinas Virtuais do Azure. Você também pode selecionar Adicionar endereço IP do cliente atual se quiser ser capaz de se conectar a partir do endereço IP do computador cliente usado para implantar o Banco de Dados SQL do Azure.
Com a Instância Gerenciada SQL do Azure, você implanta dentro de uma rede virtual do Azure e de uma sub-rede dedicada a instâncias gerenciadas, o que permite que você tenha um endereço IP seguro e privado. A Instância Gerenciada SQL do Azure pode conectar uma rede local a uma instância gerenciada, conectar uma instância gerenciada a um servidor vinculado ou outro armazenamento de dados local e conectar uma instância gerenciada a outros recursos.
Também pode ativar um ponto final público para se poder ligar a uma instância gerida a partir da Internet sem uma rede privada virtual (VPN). Este acesso está desativado por predefinição.
Data source
No Banco de Dados SQL do Azure, você pode selecionar o AdventureWorksLT
banco de dados como o exemplo após a implantação no portal do Azure. Na Instância Gerenciada SQL do Azure, você implanta a instância primeiro e, em seguida, os bancos de dados dentro dela. Não é possível ter o banco de dados de exemplo na implantação, semelhante ao SQL Server. Você pode saber mais sobre os AdventureWorks
bancos de dados de exemplo no GitHub.
Também pode implementar uma base de dados em branco ou criar uma com base no restauro de uma cópia de segurança georreplicada.
Agrupamentos de base de dados
Os agrupamentos no SQL Server e no SQL do Azure dizem ao motor de base de dados como tratar determinados carateres e idiomas. Um agrupamento fornece as regras de classificação, as propriedades de diferenciação de maiúsculas e minúsculas e acentos para seus dados.
Ao criar um novo banco de dados SQL ou uma instância gerenciada pelo SQL, leve em consideração os requisitos de localidade dos dados. O conjunto de agrupamento afeta as características de muitas operações no banco de dados. No produto de caixa SQL Server, a localidade do sistema operacional normalmente determina o agrupamento padrão.
Na Instância Gerenciada SQL do Azure, defina o agrupamento do servidor após a criação da instância. Não é possível alterá-lo mais tarde. O agrupamento do servidor define o padrão para todos os bancos de dados nessa instância gerenciada pelo SQL, mas você pode modificar os agrupamentos em um banco de dados e nível de coluna.
Na Base de Dados SQL do Azure, não pode definir o agrupamento de servidor. Ele é definido no agrupamento padrão e mais comum do , mas você pode definir o agrupamento do banco de SQL_Latin1_General_CP1_CI_AS
dados. Para dividir esse valor em partes:
SQL
significa que é um agrupamento do SQL Server, em oposição a um agrupamento binário ou do Windows.Latin1_General
Especifica o alfabeto ou idioma a ser usado ao classificar.CP1
refere a página de códigos que o agrupamento utiliza.CI
significa que não diferencia maiúsculas de minúsculas.CS
significa diferenciar maiúsculas de minúsculas.AS
significa que é sensível ao sotaque.AI
significa insensível ao sotaque.
Existem outras opções disponíveis. Os exemplos são a largura dos caracteres e codificação UTF-8. Você pode encontrar mais detalhes sobre o que pode e o que não pode fazer com o SQL do Azure na documentação.
Optar pelo Microsoft Defender for Cloud
Quando você implanta o Banco de Dados SQL do Azure no portal do Azure, ele pergunta se você deseja habilitar o Microsoft Defender for Cloud em uma avaliação gratuita. Selecione Iniciar avaliação gratuita. Após a avaliação gratuita, o Defender for Cloud é cobrado de acordo com os preços da camada padrão do Microsoft Defender for Cloud.
Depois de ativá-lo, você obtém funcionalidades relacionadas à identificação e mitigação de possíveis vulnerabilidades do banco de dados e deteção de ameaças. Você pode saber mais sobre esses recursos no próximo módulo de segurança deste caminho de aprendizagem.
Na Instância Gerenciada SQL do Azure, você pode habilitar o Microsoft Defender for Cloud na instância após a implantação.
Rever as seleções
No painel Rever e criar, reveja as suas seleções de implementação e os termos do Azure Marketplace.
Gorjeta
Você também tem a opção Baixar um modelo para automação , que fornece um modelo do Azure Resource Manager (modelo ARM) para implantações configuráveis e repetíveis. Esta unidade não abrange modelos ARM. Se estiver interessado, saiba mais sobre as especificações do modelo.
Principais detalhes de implementação
Embora o Azure cuide da implantação para você, há alguns detalhes de implementação de implantação dos quais você deve estar ciente. Todos os serviços são criados na espinha dorsal do Azure, conhecida como Azure Service Fabric. Compreender o back-end de como alguns desses serviços são implantados e dimensionados no Azure Service Fabric ajuda você a entender vários comportamentos que você pode ver.
Instância Gerida do Azure SQL
Nos bastidores, o Azure implanta um anel dedicado para a Instância Gerenciada SQL do Azure (às vezes chamada de cluster virtual) para seu serviço. Essa arquitetura ajuda a fornecer segurança e suporte de rede virtual nativa.
Devido a esta arquitetura, as operações de implementação e dimensionamento podem demorar mais tempo. Por exemplo, quando aumenta ou reduz verticalmente, o Azure implementa um novo cluster virtual e propaga-o com os seus dados. Todas as instâncias estarão em execução numa única máquina virtual.
Os Conjuntos de instâncias do SQL do Azure foram introduzidos para ajudar a resolver os longos tempos de implementação. Você pode pré-implantar um pool de recursos dedicados. Implementar num conjunto e dimensionar num conjunto é mais rápido do que as implementações tradicionais Você também obtém uma densidade de empacotamento maior, porque pode implantar várias instâncias em uma única máquina virtual.
Base de Dados SQL do Azure
A Base de Dados SQL do Azure está num servidor de bases de dados lógico. Na maioria dos casos, uma instância dedicada do SQL Server hospeda o banco de dados SQL, mas você não precisa se preocupar em gerenciar a instância.
O servidor de banco de dados lógico oferece algo ao qual se conectar. Ele também permite agrupar e gerenciar determinadas permissões e configurações juntas. Dentro de cada servidor de banco de dados lógico há um banco de dados primário lógico, que pode fornecer diagnósticos no nível da instância.
Base de Dados SQL do Azure – Hyperscale
A camada de Hiperescala no Banco de Dados SQL do Azure, que não está disponível na Instância Gerenciada SQL do Azure, tem uma arquitetura exclusiva para o Azure SQL. A equipe do SQL do Azure rearquitetou o Hyperscale para a nuvem. Essa arquitetura inclui um sistema de cache multicamadas que pode ajudar com velocidade e escala. O dimensionamento e outras operações não estão mais relacionados ao tamanho dos dados e podem ser concluídos em tempo constante, em questão de minutos. A utilização do armazenamento remoto também permite cópias de segurança de instantâneos.
Em um módulo subsequente do caminho de aprendizado dos fundamentos do SQL do Azure, você aprenderá mais sobre a arquitetura e como ela afeta o desempenho e a disponibilidade. Uma consideração durante a fase de implantação é que, depois de mover um banco de dados para a camada Hyperscale, não é possível voltar para a camada de Propósito Geral ou Crítica para os Negócios.
Gestão de recursos
À medida que você aumenta ou diminui os recursos em uma camada de serviço, os limites para dimensões como CPU, armazenamento e memória podem mudar até um determinado limite. Apesar de existir uma abordagem multifacetada à governação no SQL do Azure, são sobretudo utilizadas as três seguintes tecnologias para controlar a utilização dos recursos no SQL do Azure:
- Os objetos de trabalho do Windows permitem que um grupo de processos seja gerenciado e governado como uma unidade. Os objetos de trabalho são utilizados para controlar a consolidação da memória virtual do ficheiro, os limites dos conjuntos de trabalho, a afinidade da CPU e os limites das taxas. Pode utilizar a vista de gestão dinâmica
sys.dm_os_job_object
para ver os limites em vigor. - O Administrador de Recursos é um recurso do SQL Server que ajuda os usuários e, neste caso, o Azure, a controlar recursos como CPU, E/S física e memória. O Azure SQL Managed Instance também permite conjuntos e grupos de carga de trabalho definidos pelo utilizador para o Resource Governor.
- O Gerenciador de Recursos de Servidor de Arquivos está disponível no Windows Server. Ele governa as cotas de diretório de arquivos, que são usadas para gerenciar o tamanho máximo de dados.
Outras implementações para controlar a taxa de log de transações são incorporadas ao mecanismo de banco de dados por meio da governança da taxa de log de transações. Este processo limita as taxas de ingestão de dados elevadas das cargas de trabalho, como BULK INSERT
, SELECT INTO
e compilações de índices. São monitorizados e impostos como um nível subsegundos. Atualmente, fazem o dimensionamento num escalão de serviço de forma linear.
Verificação
Depois de concluir a implantação, é hora de verificar essa implantação. Nesta etapa, normalmente você verifica os resultados no portal do Azure ou na CLI do Azure, executa algumas consultas que verificam sua configuração de implantação e ajusta conforme necessário.
No caso do Azure SQL Managed Instance e da Base de Dados SQL do Azure, o primeiro passo que pode tomar é verificar o estado da base de dados ou da instância através do portal do Azure ou da CLI do Azure. Em seguida, você pode revisar os detalhes da implantação e o log de atividades para garantir que não haja falhas ou problemas ativos.
Para a Instância Gerenciada SQL do Azure, você pode verificar o log de erros, que é uma coisa comum a fazer no SQL Server local ou em uma máquina virtual do Azure. Esse recurso não está disponível no Banco de Dados SQL do Azure.
Por fim, é provável que confirme se a rede está configurada corretamente, que obtenha o nome do servidor e se ligue a uma ferramenta, como o SQL Server Management Studio ou o Azure Data Studio. Pode executar as consultas seguintes para melhor compreender o que implementou e confirmar que o fez corretamente:
SELECT @@VERSION
SELECT * FROM sys.databases
SELECT * FROM sys.objects
SELECT * FROM sys.dm_os_schedulers
SELECT * FROM sys.dm_os_sys_info
SELECT * FROM sys.dm_os_process_memory --Not supported in Azure SQL Database
SELECT * FROM sys.dm_exec_requests
SELECT SERVERPROPERTY('EngineEdition')
SELECT * FROM sys.dm_user_db_resource_governance -- Available only in Azure SQL Database and SQL Managed Instance
SELECT * FROM sys.dm_instance_resource_governance -- Available only in Azure SQL Managed Instance
SELECT * FROM sys.dm_os_job_object -- Available only in Azure SQL Database and SQL Managed Instance
Uma consulta relacionada à memória de processo do sistema operacional não é suportada no Banco de Dados SQL do Azure, mesmo que pareça funcionar. Essa consulta não é suportada porque, com o Banco de Dados SQL do Azure, algumas coisas relacionadas ao sistema operacional são abstraídas de você, permitindo que você se concentre no banco de dados.
As três últimas consultas estão disponíveis apenas no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure. O primeiro, sys.dm_user_db_resource_governance
, retorna as definições de configuração e capacidade usadas pelos mecanismos de governança de recursos no banco de dados atual ou pool elástico. Pode obter informações semelhantes para uma instância do Azure SQL Managed Instance com a segunda, sys.dm_instance_resource_governance
. A terceira, sys.dm_os_job_object
, retorna uma única linha que descreve a configuração do objeto de trabalho que gerencia o processo do SQL Server e as estatísticas de consumo de recursos.
Os próximos dois exercícios passam por todos os detalhes envolvidos na implantação do Banco de Dados SQL do Azure ou da Instância Gerenciada SQL do Azure. Use sua assinatura do Azure para implantar o Banco de Dados SQL do Azure. Após a implantação, você usa várias consultas de verificação e pré-executa blocos de anotações SQL no Azure Data Studio para comparar o Banco de Dados SQL, a Instância Gerenciada do SQL e o SQL Server 2019.