Configurar o Banco de Dados SQL do Azure e a Instância Gerenciada de SQL do Azure

Concluído

Você verificou que sua implantação foi bem-sucedida e sabe quais recursos estão disponíveis. Agora, talvez você queira configurar a sua Instância Gerenciada de SQL, o Banco de Dados SQL ou os bancos de dados em uma instância gerenciada. Esses bancos de dados são chamados de bancos de dados gerenciados.

Configurar a Instância Gerenciada de SQL do Azure

A Instância Gerenciada de SQL do Azure é essencialmente uma instância do SQL Server gerenciada. Muitas configurações disponíveis no SQL Server se aplicam aqui. Por exemplo, é possível configurar o uso de sp_configure e de determinados sinalizadores de rastreamento globais. Você também tem opções disponíveis em torno tempdb, model e master. Você tem controle sobre a configuração e conectividade da sua rede.

Configuração do banco de dados

Para bancos de dados gerenciados na Instância Gerenciada de SQL do Azure e no Banco de Dados SQL do Azure, há opções disponíveis para você com o comando ALTER DATABASE. Há opções SET e você pode selecionar o valor de dbcompat desejado. Esse valor pode ajudar nas migrações. Também é possível usar o comando ALTER DATABASE para alterar a edição ou a camada de serviço.

No Banco de Dados SQL do Azure, você não tem acesso à configuração de arquivo subjacente. Na Instância Gerenciada de SQL do Azure, você pode executar a manutenção de arquivos. Assim como ocorre com a Instância Gerenciada de SQL, há opções disponíveis para você para conectividade de rede, configuração de rede e gerenciamento de espaço.

No Banco de Dados SQL do Azure, especificamente, a detecção de uma página obsoleta fica habilitada e a ordenação padrão do servidor SQL_Latin1_General_CP1_CI_AS é sempre usada. Além disso, as seguintes opções padrão são definidas como ON:

  • SNAPSHOT_ISOLATION_STATE
  • READ_COMMITTED_SNAPSHOT
  • FULL RECOVERY
  • CHECKSUM
  • QUERY_STORE
  • TDE
  • ACCELERATED_DATABASE_RECOVERY

Gerenciamento de trabalho

O SQL Server Agent fornece um sistema de configuração e agendamento para usuários do SQL Server. É possível obter uma funcionalidade equivalente no SQL do Azure por meio das seguintes opções:

SQL Agent na Instância Gerenciada de SQL

O SQL Agent é um serviço totalmente compatível com a Instância Gerenciada de SQL do Azure. Os trabalhos do SQL Agent tem suporte apenas em etapas de trabalho do T-SQL e do SQL Server Integration Services. As etapas do shell de comando não têm suporte. Embora não haja suporte para alertas, as notificações por email são compatíveis por meio do Database Mail.

Trabalhos elásticos para o Banco de Dados SQL

O Banco de Dados SQL do Azure não dá suporte ao SQL Server Agent. No entanto, você pode usar o serviço do Agente de Trabalho Elástico no Azure para criar e agendar trabalhos. Trabalhos são scripts T-SQL que você pode executar em vários bancos de dados, incluindo execução paralela.

Automação do Azure

Você pode usar o serviço de Automação do Azure para orquestrar processos por meio de um conceito chamado runbook. Um runbook pode consistir em código como PowerShell ou Python e pode ser direcionado para qualquer recurso do Azure.

Opções de configuração restritas

A Instância Gerenciada de SQL do Azure e os serviços do Banco de Dados SQL do Azure restringem as configurações a seguir. Essas restrições podem afetar a forma como você executa algumas tarefas.

  • Não é possível parar ou reiniciar servidores.
  • Você não pode usar:
    • Inicialização instantânea de arquivo.
    • Páginas bloqueadas na memória.
    • FILESTREAM e grupos de disponibilidade.
    • Ordenação do servidor. Na Instância Gerenciada de SQL, é possível selecionar a ordenação do servidor durante a implantação, mas não fazer alterações.
    • Parâmetros de inicialização.
    • Relatório de erros e comentários do cliente.
    • ALTER SERVER CONFIGURATION.
    • Configuração ERRORLOG.
  • A segurança no Modo Misto é forçada.
  • A auditoria de logon é feita por meio da auditoria do SQL.
  • A conta proxy do servidor não é aplicável.

A Instância Gerenciada de SQL do Azure e o Banco de Dados SQL são ofertas de PaaS (plataforma como serviço). Restringir essas opções não deve reduzir a sua capacidade de usar integralmente um serviço gerenciado do SQL Server.

Gerenciamento de armazenamento

Para a Instância Gerenciada de SQL do Azure, há um tamanho de armazenamento máximo possível permitido para a instância baseada no SLO escolhido. Você escolhe um armazenamento máximo para a instância até o tamanho máximo possível. Se você atingir o armazenamento máximo, você pode obter a Mensagem 1105 para um banco de dados gerenciado ou a Mensagem 1133 para a instância.

Assim como ocorre com o SQL Server, o tamanho de qualquer banco de dados novo será baseado no tamanho do modelo de banco de dados. O modelo de banco de dados é um arquivo de dados de 100 MB e um arquivo de log de 8 MB. Também como no SQL Server, o tamanho do modelo é configurável. É possível alterar o tamanho e o número de arquivos, mas você não tem controle sobre a localização física deles. A Microsoft tem compromissos com o desempenho de E/S com base na sua escolha de implantação. Além disso, como o armazenamento remoto é usado na camada de serviço Uso Geral, o arquivo de dados e o tamanho do arquivo de log podem afetar o desempenho.

Para o Banco de Dados SQL do Azure, há um tamanho máximo possível de arquivos de banco de dados baseado no SLO escolhido. Você escolhe um Tamanho máximo dos dados até o tamanho máximo possível. O Tamanho Máximo dos arquivos de banco de dados, conforme definido pela coluna sys.database_files.max_size, pode aumentar até o Tamanho máximo dos dados.

Para entender essa ideia de Tamanho máximo dos dados comparada ao Tamanho Máximo, considere um exemplo em que um banco de dados de Uso Geral de 1 TB (Tamanho máximo dos dados) é implantado. Quando você faz essa implantação, seu banco de dados requer apenas cerca de 500 GB e não 1 TB. À medida que seu banco de dados cresce e se aproxima do Tamanho máximo dos dados, o Tamanho Máximo dos arquivos do banco de dados também aumenta até o nível de 1 TB.

O log de transações é adicional ao tamanho dos dados e é incluído no que você paga pelo armazenamento. Ele é truncado regularmente devido a backups automáticos porque a Recuperação Acelerada de Banco de Dados está ativada por padrão. O tamanho máximo do log é sempre 30% do Tamanho máximo dos dados. Por exemplo, se o Tamanho máximo dos dados for 1 TB, o tamanho máximo do log de transações será de 0,3 TB e a soma do Tamanho máximo dos dados com o tamanho do log será de 1,3 TB.

O nível Hiperescala do Banco de Dados SQL do Azure é diferente dos outros níveis de serviço. Esse nível cria um banco de dados que inicialmente tem 40 GB e aumenta automaticamente de tamanho até o limite de 100 TB. O log de transações tem uma restrição de tamanho fixo de 1 TB.

Arquitetura e política de conectividade

Parte da configuração do servidor lógico do Banco de Dados SQL do Azure ou da configuração da Instância Gerenciada de SQL do Azure envolve a determinação da rota de conexão com os seus bancos de dados.

Para a Instância Gerenciada de SQL do Azure, você pode escolher o tipo de conexão ou a política durante a implantação. No Banco de Dados SQL do Azure, você pode escolher o tipo de conexão após a implantação.

Você pode manter o padrão de Proxy para conexões fora do Azure e Redirect para conexões dentro do Azure ou configurar algo diferente.

Diagram of the connection policies in Azure SQL.

No nível mais alto, no modo Proxy, o proxy de todas as conexões é realizado por meio do gateway. No modo Redirecionamento, após ter sido estabelecida e estiver usando o gateway a conexão pode se comunicar diretamente com o banco de dados ou a instância gerenciada. O gateway está redirect-find-db na figura anterior.

A conexão direta (redirecionamento) permite latência reduzida e taxa de transferência aprimorada. Também requer a abertura de portas adicionais para permitir a comunicação de entrada e de saída no intervalo de 11000 a 11999.

No próximo exercício, você verá alguns comandos para configurar o SQL do Azure com a CLI do Azure. Em seguida, irá se aprofundar na avaliação das políticas de conexão por proxy e redirecionamento.

Verificação de conhecimento

1.

Se o Tamanho máximo dos dados no Banco de Dados SQL do Azure for 10 GB, qual será o tamanho máximo do log de transações?

2.

Qual é a política de conexão padrão para o Banco de Dados SQL do Azure e a Instância Gerenciada de SQL do Azure?