Curso
Bancos de dados SQL têm um papel fundamental nas aplicações modernas de dados, oferecendo uma forma estruturada de armazenar, gerenciar e recuperar informações. Esses bancos utilizam SQL para executar desde consultas simples até transações complexas.
Os bancos de dados Azure SQL oferecem alta disponibilidade e escalabilidade, garantindo desempenho confiável para projetos de dados. Como um serviço totalmente gerenciado, ele reduz a sobrecarga administrativa ao cuidar de manutenções como atualizações e backups. A integração com outros serviços do Azure simplifica o desenvolvimento e a implantação das suas soluções de dados.
O Azure conta com um conjunto de serviços SQL para diferentes necessidades. Neste tutorial, vamos explorar esses serviços, com foco principal no Azure SQL Database, detalhando sua configuração, uso e gerenciamento.
Entendendo os serviços Azure SQL
A Microsoft oferece três serviços principais de banco de dados SQL, voltados a casos de uso e requisitos específicos: Azure SQL Database, Azure SQL Managed Instance e SQL Server em máquinas virtuais (VMs) do Azure.
1. Azure SQL Database
O Azure SQL Database é uma oferta de Plataforma como Serviço (PaaS) totalmente gerenciada. Ele abstrai a infraestrutura subjacente, permitindo que você foque na construção e na implantação das aplicações sem se preocupar com tarefas de manutenção do banco de dados.
2. Azure SQL Managed Instance
O Azure SQL Managed Instance é um serviço gerenciado com compatibilidade de quase 100% com o SQL Server local, facilitando a migração de aplicações existentes para a nuvem. Ele combina os benefícios do PaaS com maior controle sobre o ambiente do banco.
3. SQL Server em máquinas virtuais do Azure
O SQL Server em VMs do Azure é uma oferta de Infraestrutura como Serviço (IaaS) que permite executar instalações completas do SQL Server em VMs do Azure. Essa opção oferece controle total sobre a instância do SQL Server e o sistema operacional, de forma semelhante a implantações on-premises.
Como escolher o serviço certo para sua necessidade
Selecionar o serviço Azure SQL adequado depende dos seus requisitos e restrições. Veja alguns pontos para ajudar na decisão:
|
Critério |
Azure SQL Database |
Azure SQL Managed Instance |
SQL Server em VMs do Azure |
|
Compatibilidade da aplicação |
Melhor para aplicações modernas cloud-native. |
Ideal para compatibilidade quase total com recursos do SQL Server local. |
Oferece controle total e atende apps legadas com configurações personalizadas. |
|
Sobrecarga de gestão |
Mínima, com manutenção automatizada. |
Mínima, com manutenção automatizada. |
Alta, exige gerenciamento mais manual. |
|
Necessidades de escalabilidade |
Escala contínua para cargas variáveis. |
Escala contínua para cargas variáveis. |
Escalável, mas pode exigir mais intervenção manual. |
|
Segurança e compliance |
Segurança nativa ampla e certificações. |
Segurança nativa ampla e certificações. |
Segurança robusta; compliance depende de configurações personalizadas. |
|
Requisitos de desempenho |
Atende à maioria das aplicações com desempenho de nuvem. |
Bom desempenho com compatibilidade SQL Server. |
Ideal para alta performance com total customização. |
Em resumo, o Azure SQL Database é indicado para aplicações cloud-native com mínima gestão, o Azure SQL Managed Instance atende aplicações legadas que precisam de compatibilidade com SQL Server, e o SQL Server em VMs do Azure oferece o máximo de controle para workloads personalizados e de alta performance.
Agora, vamos nos concentrar no serviço Azure SQL Database.
Torne-se um engenheiro de dados
Criando um Azure SQL Database
Criar um Azure SQL Database envolve algumas etapas, todas realizadas pelo Azure Portal. Abaixo está um guia detalhado para ajudar você a configurar seu banco de dados SQL.
1. No Azure Portal, clique em “Create a resource” no canto superior esquerdo da página inicial. Na página do novo recurso, digite “SQL Database” na busca e selecione na lista de serviços.
2. Configure as opções do banco de dados como segue:
- Subscription: Escolha a assinatura sob a qual o banco será faturado.
- Resource group: Selecione um resource group existente ou crie um novo clicando em "Create new" e definindo um nome.
- Database name: Informe um nome exclusivo para o novo banco de dados SQL.

Tela “Create a SQL database” no Azure com resumo de custos à direita. Imagem do autor
3. Se você já tem um SQL Server, clique em "Use existing" e selecione o servidor na lista. Se não tiver, clique em "Create new" para criar um. Você precisará configurar as opções abaixo.

Criando um novo SQL Database Server no Azure. Imagem do autor
- Server name: Defina um nome exclusivo para o servidor.
- Server admin login: Crie o login do administrador do servidor.
- Password: Crie uma senha forte e confirme.
- Location: Escolha a região mais próxima dos seus usuários para melhor desempenho.
4. Em seguida, configure o método de autenticação e o login do administrador do servidor:
- Authentication method: Escolha seu método preferido. A autenticação SQL é comum, mas você também pode usar Microsoft Entra ID (antigo Azure Active Directory) para mais segurança.
- Server admin login: Se estiver criando um novo servidor, garanta que o login e a senha do administrador foram definidos como indicado antes.
5. Outras configurações importantes:
- Networking: Defina se o banco será acessível pela internet pública ou apenas por rede privada. Configure as regras de firewall e redes virtuais necessárias.
- Security: Ative recursos como Advanced Data Security, que inclui detecção de ameaças e avaliação de vulnerabilidades.
- Pricing tier: Escolha uma camada conforme desempenho e orçamento. Opções incluem General Purpose, Business Critical e Hyperscale, cada uma com níveis diferentes de performance, armazenamento e recursos.
6. Por fim, revise todas as configurações para garantir que está tudo certo. Clique em "Review + create". Após a validação, clique em "Create" para implantar seu banco de dados SQL.
Se quiser se aprofundar no Azure, confira o curso Azure Architecture and Services.
Conectando a um Azure SQL Database
Há várias ferramentas e métodos para se conectar a um Azure SQL Database. Esta seção cobre as principais ferramentas de conexão e explica o uso de strings de conexão e métodos de autenticação.
Ferramentas para se conectar ao Azure SQL Database
Conexão pelo Azure Portal
Siga os passos para conectar ao seu banco e executar consultas diretamente no Azure:
1. Abra o Azure Portal e acesse o recurso do seu banco SQL. Clique em "Query editor (preview)" no menu à esquerda.
2. Informe o login e a senha do administrador para usar autenticação SQL ou, se configurado, use a autenticação via Microsoft Entra ID (antigo Azure Active Directory).
3. Você pode executar consultas SQL diretamente no editor de consultas do Azure Portal.

Editor de consultas do Azure Portal. Imagem do autor
Conexão via SQL Server Management Studio (SSMS)
O SQL Server Management Studio (SSMS) é um ambiente integrado e completo para gerenciar a infraestrutura do SQL Server, permitindo configurar, monitorar e administrar instâncias de bancos SQL.
- Instalação: Baixe e instale o SSMS no site oficial da Microsoft.
- Conexão: Abra o SSMS, clique em "Connect" e selecione "Database Engine". Informe o nome do servidor (ex.: “your_server_name.database.windows.net”), o método de autenticação e as credenciais.
Conexão via Azure Data Studio
O Azure Data Studio é uma ferramenta multiplataforma para gerenciar bancos SQL locais ou em ambientes multicloud.
- Instalação: Baixe e instale o Azure Data Studio no site oficial da Microsoft.
- Conexão: Abra o Azure Data Studio, clique em "New Connection" e informe os detalhes do servidor, incluindo nome do servidor, nome do banco e dados de autenticação.
Outras ferramentas para conectar ao seu Azure SQL Database
- Visual Studio Code: Instale a extensão SQL Server para o VS Code, que permite conectar a bancos Azure SQL.
- Power BI: Conecte-se ao Azure SQL Database direto do Power BI Desktop para análises e visualizações avançadas.
Strings de conexão e autenticação
Entendendo as strings de conexão
Strings de conexão são essenciais para que aplicações se conectem ao seu Azure SQL Database. Elas incluem o nome do servidor, nome do banco, credenciais de autenticação e outros parâmetros.
Exemplo de string de conexão com autenticação SQL:
Server=tcp:your_server_name.database.windows.net,1433;Initial Catalog=your_database_name;Persist Security Info=False;User ID=your_username;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Configurando autenticação SQL
No SSMS ou Azure Data Studio, conecte ao seu Azure SQL Database e execute scripts SQL para criar novos usuários e atribuir papéis. Inclua o usuário e a senha na string de conexão para autenticação.
CREATE LOGIN mylogin WITH PASSWORD = 'StrongPassword!';
CREATE USER myuser FOR LOGIN mylogin;
ALTER ROLE db_datareader ADD MEMBER myuser;
Configurando autenticação via Microsoft Entra ID (antigo Azure Active Directory)
Siga estes passos para configurar o admin do Entra ID e atribuir usuários/papéis:
1. No Azure Portal, acesse o recurso do seu SQL Server e selecione "Active Directory admin" para definir um usuário ou grupo do Entra ID como administrador.
2. Use scripts SQL para criar usuários e atribuir papéis. Isso requer SSMS ou Azure Data Studio com autenticação Entra ID habilitada. Por exemplo:
CREATE USER [aad_user@domain.com] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [aad_user@domain.com];
3. Ajuste sua string de conexão para incluir as credenciais do Entra ID. Isso geralmente envolve configurar autenticação baseada em token:
Server=tcp:your_server_name.database.windows.net,1433;Initial Catalog=your_database_name;Persist Security Info=False;User ID=aad_user@domain.com;Authentication="Active Directory Password";Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Gerenciando e usando seu Azure SQL Database
Gerenciar e usar um Azure SQL Database envolve operações básicas e o uso de recursos avançados para otimizar desempenho, escalabilidade e disponibilidade. Abaixo estão métodos e passos detalhados para gestão básica e avançada.
Operações básicas de banco de dados
1. Criando tabelas
Conecte ao banco via SSMS, Azure Data Studio ou editor de consultas do Azure Portal e execute o comando SQL abaixo para criar uma tabela:
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Email NVARCHAR(100),
HireDate DATE
);
2. Inserindo dados
Insira dados na nova tabela usando o código SQL a seguir:
INSERT INTO Employees (EmployeeID, FirstName, LastName, Email, HireDate)
VALUES (1, 'John', 'Doe', 'john.doe@example.com', '2022-01-01');
3. Executando consultas básicas
Você pode recuperar dados da tabela com uma consulta SELECT simples. Por exemplo, para obter todos os dados da tabela Employees:
SELECT * FROM Employees;
Usando T-SQL para administração de banco
T-SQL (Transact-SQL) é a extensão da Microsoft para SQL usada no gerenciamento e manipulação de bancos relacionais. Com ele, você cria e altera tabelas, gerencia dados e implementa lógicas complexas via procedures e triggers.
1. Criando stored procedures
CREATE PROCEDURE GetEmployeeByID
@EmployeeID INT
AS
BEGIN
SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END;
Neste exemplo, a stored procedure recebe um ID de colaborador como parâmetro e retorna todas as colunas do funcionário com aquele ID na tabela ‘Employees’.
2. Executando stored procedures
Veja como executar a procedure que você acabou de criar:
EXEC GetEmployeeByID @EmployeeID = 1;
Recursos avançados de gerenciamento
Agora, confira alguns recursos mais sofisticados para uso em produção no seu Azure SQL Database.
Escalando bancos com elastic pools
Elastic pools no Azure SQL Database permitem gerenciar e escalar múltiplos bancos com demandas variáveis e imprevisíveis. Eles trazem eficiência de custos ao compartilhar recursos entre os bancos do pool. Para criar um elastic pool:
1. No Azure Portal, selecione o servidor do seu SQL Database e clique em "Create new" em Elastic Pool.
2. Configure o pool definindo o número de DTUs (Database Transaction Units) e adicionando os bancos.
Alta disponibilidade e recuperação de desastres
O Azure SQL Database oferece várias opções de alta disponibilidade e DR para manter o banco operacional e proteger os dados:
- Alta disponibilidade nativa: SLA de 99,99% de uptime com replicação de dados entre nós em locais físicos distintos.
- Geo-replication: Habilite replicação geográfica para criar réplicas secundárias legíveis em outras regiões do Azure. Em caso de indisponibilidade regional, é possível failover. No Portal, acesse o banco, selecione “Geo-Replication” e configure as secundárias.
- Backups automáticos: O Azure SQL Database realiza backups completos, diferenciais e de log de transações automaticamente. Configure a retenção conforme seu RPO.
- Restauração pontual (point-in-time): Em caso de perda ou corrupção de dados, restaure o banco para qualquer ponto dentro do período de retenção. No Portal, acesse o banco e clique em "Restore".
Protegendo seu Azure SQL Database
Ao trabalhar com dados, segurança é prioridade. Esta seção aborda os principais recursos de segurança do Azure SQL Database.
Boas práticas de segurança
Para proteger seu banco de acessos não autorizados e garantir conectividade segura e privada no Azure, adote estas práticas:
- Configure regras de firewall por IP para limitar o acesso a endereços ou faixas específicas, reduzindo o risco de acessos indevidos.
- Use service endpoints de rede virtual para restringir o acesso do banco a VNets específicas, reduzindo a exposição à internet pública.
- Integre a VNet ao banco SQL usando service ou private endpoints para conectividade segura, mitigando riscos de interceptação e exposição pública.
Usando recursos avançados de segurança de dados
Para reforçar a proteção dos dados em Azure SQL, considere estas configurações avançadas:
- Advanced threat protection para detectar atividades incomuns.
- Transparent data encryption (TDE) para criptografar dados em repouso.
- Dynamic data masking para ocultar dados sensíveis nos resultados de consultas.
Auditar e monitorar seu banco regularmente
Para reforçar a segurança e proteção dos dados, configure auditoria para rastrear atividades do banco e armazenar logs em uma conta de Azure Storage, Log Analytics workspace ou Event Hub.
Você também pode usar o Azure Monitor para acompanhar métricas de desempenho e segurança e criar alertas para condições específicas.
Quer aprender mais sobre governança de dados no Azure? Confira o curso Azure Management and Governance da DataCamp.
Preços e gestão de custos do SQL Database
O preço do Azure SQL Database pode ser complexo devido às várias opções de configuração que o influenciam. Nesta seção, veremos os principais fatores que afetam os custos.
1. Camada de serviço
Cada camada (Basic, Standard e Premium) oferece níveis de desempenho e recursos diferentes. A escolha impacta diretamente o custo, sendo Basic a mais barata e Premium a mais cara.
2. Recursos de computação
Você pode escolher entre precificação baseada em DTU ou em vCore:
- DTUs (Database Transaction Units): Na precificação por DTU, a quantidade de DTUs determina os recursos de computação, memória e I/O. Mais DTUs significam custos maiores.
- vCores (Virtual Cores): Na precificação por vCore, o número de vCores e o tipo de hardware (General Purpose, Business Critical ou Hyperscale) determinam os custos de computação. Mais vCores ou hardware mais potente elevam os custos.
3. Armazenamento
A quantidade de dados armazenada afeta o custo. A cobrança é feita pelo tamanho provisionado, não pelo espaço efetivamente usado.
O espaço usado para backups automáticos (até o período de retenção incluído) está incluso. Armazenamento extra para retenções maiores gera custo adicional.
4. Opções de implantação
Os custos variam conforme a opção de implantação:
- Single database: Banco isolado com recursos próprios. O custo depende da camada, computação e armazenamento escolhidos.
- Elastic pool: Conjunto de bancos que compartilham recursos. O custo depende do total de eDTUs ou vCores e do armazenamento alocado ao pool.
- Managed instance: Instância SQL Server totalmente gerenciada. O custo depende de vCores, armazenamento e outros recursos.
5. Geo-replicação e alta disponibilidade
Recursos como configuração com redundância de zona ou camadas premium com SLAs mais altos podem aumentar os custos.
6. Saída de rede (egress)
Transferência de dados a partir do Azure SQL Database (por exemplo, para clientes externos ou outras regiões do Azure) gera cobranças de egress. Transferências internas na mesma região do Azure geralmente são gratuitas.
Dicas para gestão e otimização de custos
Algumas dicas para otimizar custos com Azure SQL:
- Use a calculadora de preços para estimar custos antecipadamente
- Analise gastos no Azure Cost Management para identificar oportunidades de otimização
- Use o Azure Advisor para recomendações personalizadas de redução de custos.
Conclusão
Configurar e administrar bem um Azure SQL Database envolve definir autenticação robusta e ferramentas de conexão. Recursos avançados de segurança e o uso das ferramentas de monitoramento do Azure garantem que o banco permaneça seguro e eficiente. Entender as camadas de preço e os fatores que impactam os custos ajuda você a tomar decisões para otimizar despesas.
Seguindo as orientações deste tutorial, você mantém um ambiente Azure SQL Database seguro, com alta performance e custo-efetivo.
Quer aprender mais sobre Azure? Confira a trilha Azure Fundamentals da Datacamp.
Governança de dados mestres hoje
FAQs
Quais são as melhores práticas para otimizar o desempenho de consultas no Azure SQL Database?
Para otimizar o desempenho de consultas, analise e ajuste consultas regularmente usando o Query Performance Insights. Além disso, garanta indexação adequada, use consultas parametrizadas para evitar SQL injection e considere escalar com elastic pools para lidar com variações de carga.
Como automatizar backups no meu Azure SQL Database?
O Azure SQL Database lida automaticamente com backups completos, diferenciais e de log de transações, armazenados em storage com redundância geográfica. Você pode configurar o período de retenção no Azure Portal, em "Configure", garantindo que os backups atendam às necessidades do seu negócio.
Quais são as diferenças entre Azure SQL Database e SQL Server em VMs do Azure?
O Azure SQL Database é um serviço totalmente gerenciado para aplicações cloud-native, com backups, patches e escalabilidade automáticos. Já o SQL Server em VMs do Azure oferece controle total do ambiente, permitindo configurações personalizadas e alta performance, mas exige mais gestão e manutenção manual.
Quais são as diferenças entre single databases e elastic pools no Azure SQL Database?
Single databases são bancos independentes, otimizados para aplicações single-tenant. Cada banco tem seu próprio conjunto de recursos.
Elastic pools são um conjunto de bancos que compartilham recursos (eDTUs ou vCores). Ideais para aplicações multi-tenant, quando a demanda varia entre bancos, gerando economia e eficiência.
Quais medidas de segurança devo implementar para proteger dados sensíveis no Azure SQL Database?
Para proteger dados sensíveis, ative o Transparent Data Encryption (TDE) para criptografar dados em repouso e o Always Encrypted para proteger dados em trânsito e em repouso. Use o Advanced Threat Protection (ATP) nativo do Azure para detectar e responder a ameaças, e aplique práticas robustas de autenticação e autorização com o Azure Active Directory (AAD).
Anneleen é uma cientista de dados com formação em estatística e ciências sociais. Atualmente, ela trabalha como cientista de dados freelancer em finanças e está cursando uma pós-graduação em IA aplicada. Anneleen é instrutora de quatro cursos do DataCamp, incluindo "Azure Management and Governance".


