<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Data Engineering | The .NET Blog</title><link>https://thedotnetblog.com/pt/tags/data-engineering/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>pt</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Wed, 15 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/pt/tags/data-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Pare de Tratar Bancos de Dados Como Flocos de Neve Especiais: Azure DevOps + SQL Projects Feito Direito</title><link>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/azure-devops-sql-projects-ci-cd-fundamentals/</link><pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/pt/news/emiliano-montesdeoca/azure-devops-sql-projects-ci-cd-fundamentals/</guid><description>O modelo de pipeline de SQL projects no Azure DevOps prova que a entrega de banco de dados pode ser repetível, segura e testável quando as equipes adotam a disciplina de CI/CD orientada a código.</description><content:encoded>&lt;p&gt;Muitas equipes afirmam que praticam DevOps, e depois implantam mudanças de banco de dados manualmente a partir do notebook de alguém. Essa contradição é exatamente o que esta orientação do Azure SQL corrige. SQL projects mais pipelines do Azure DevOps tornam a entrega de banco de dados determinística, auditável e segura o suficiente para fluxos de trabalho reais de produção.&lt;/p&gt;
&lt;p&gt;Fonte original: &lt;a href="https://devblogs.microsoft.com/azure-sql/fundamentals-of-azure-devops-with-sql-projects/"&gt;https://devblogs.microsoft.com/azure-sql/fundamentals-of-azure-devops-with-sql-projects/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A parte mais forte da abordagem não é a sintaxe do YAML, é a sequência de disciplina: construir primeiro, publicar segundo, e proteger o caminho de implantação com privilégio mínimo e identidade sem senha. Construir um &lt;code&gt;.sqlproj&lt;/code&gt; com o dotnet valida a compatibilidade com a plataforma de destino desde cedo e produz um artefato DACPAC que pode ser promovido através dos ambientes.&lt;/p&gt;
&lt;p&gt;Minha visão é direta: se seu schema não é construído em CI, seu processo de qualidade de banco de dados é basicamente esperança. Sucesso local no SSMS ou no VS Code não é uma garantia de release.&lt;/p&gt;
&lt;p&gt;O design de implantação também é refrescantemente pragmático. Use conexões de serviço vinculadas a identidades do Entra, conceda funções de banco de dados com escopo definido para comparação de schema e dados, e automatize a abertura temporária de firewall para IPs de runners com limpeza garantida. Esse é o tipo de higiene operacional que as equipes pulam até que uma revisão de violação as force a revisitar tudo.&lt;/p&gt;
&lt;p&gt;Recomendações práticas para aplicar imediatamente:&lt;/p&gt;
&lt;p&gt;Separe os pipelines de build e deploy. O build deve rodar em mudanças de branch e falhar rápido. O deploy deve ser específico por ambiente e governado por políticas. Armazene strings de conexão de destino e metadados de infraestrutura em variáveis de pipeline seguras, e rotacione regularmente as revisões de governança para atribuições de função. Além disso, mantenha as versões do SqlPackage explícitas e fixadas em CI para evitar mudanças surpresa de comportamento.&lt;/p&gt;
&lt;p&gt;Não privilegie demais desde cedo. Começar com db_ddladmin, db_datareader e db_datawriter é uma base melhor do que entregar db_owner a cada principal do pipeline &amp;ldquo;só para funcionar&amp;rdquo;. Escale apenas quando um requisito concreto de implantação provar que é necessário.&lt;/p&gt;
&lt;p&gt;Outra lição forte é a portabilidade. Como os SQL projects rodam na toolchain do SDK .NET, esse padrão não é exclusivo do Azure DevOps. Os mesmos fundamentos se traduzem para GitHub Actions ou outros orquestradores, o que torna esta orientação estratégica, não presa a uma plataforma.&lt;/p&gt;
&lt;p&gt;Se sua organização ainda trata a entrega de schema como um processo especial fora do CI/CD da aplicação, este é seu plano de migração. Você não precisa de engenharia de plataforma heroica. Precisa de consistência, segurança centrada em identidade e disposição para parar de entregar mudanças de banco de dados por caminhos de privilégio improvisados.&lt;/p&gt;
&lt;p&gt;As equipes que fizerem isso vão entregar mais rápido com menos eventos de rollback. As equipes que adiarem vão continuar pagando o imposto oculto das implantações manuais na camada de dados.&lt;/p&gt;</content:encoded></item></channel></rss>