<?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>DevSecOps | The .NET Blog</title><link>https://thedotnetblog.com/de/tags/devsecops/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>de</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/de/tags/devsecops/index.xml" rel="self" type="application/rss+xml"/><item><title>Hören Sie auf, Datenbanken als besondere Schneeflocken zu behandeln: Azure DevOps + SQL Projects richtig gemacht</title><link>https://thedotnetblog.com/de/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/de/news/emiliano-montesdeoca/azure-devops-sql-projects-ci-cd-fundamentals/</guid><description>Das SQL-Projekte-Pipeline-Modell in Azure DevOps beweist, dass Datenbankbereitstellung wiederholbar, sicher und testbar sein kann, wenn Teams Code-first CI/CD-Disziplin annehmen.</description><content:encoded>&lt;p&gt;Viele Teams behaupten, sie machen DevOps, und deployen dann Datenbankänderungen manuell von einem Laptop. Dieser Widerspruch ist genau das, was diese Azure SQL-Anleitung behebt. SQL-Projekte plus Azure DevOps-Pipelines machen Datenbankbereitstellung deterministisch, auditierbar und sicher genug für echte Produktions-Workflows.&lt;/p&gt;
&lt;p&gt;Originalquelle: &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;Der stärkste Teil des Ansatzes ist nicht die YAML-Syntax, sondern die &lt;strong&gt;Disziplin-Reihenfolge&lt;/strong&gt;: zuerst bauen, dann veröffentlichen und den Deployment-Pfad mit Least-Privilege und passwortloser Identität sichern. Das Bauen einer &lt;code&gt;.sqlproj&lt;/code&gt; mit &lt;code&gt;dotnet build&lt;/code&gt; validiert frühzeitig die Zielplattform-Kompatibilität und produziert ein DACPAC-Artefakt, das durch Umgebungen gefördert werden kann.&lt;/p&gt;
&lt;p&gt;Meine Ansicht ist klar: &lt;strong&gt;Wenn Ihr Schema nicht in CI gebaut wird, ist Ihr Datenbankqualitätsprozess größtenteils Hoffnung&lt;/strong&gt;. Lokaler Erfolg in SSMS oder VS Code ist keine Release-Garantie.&lt;/p&gt;
&lt;p&gt;Das Deployment-Design ist auch erfrischend &lt;strong&gt;pragmatisch&lt;/strong&gt;. Verwenden Sie Service Connections, die an Entra-Identitäten gebunden sind, gewähren Sie Bereichs-Datenbankrollen für Schema- und Datenvergleich und automatisieren Sie temporäre Firewall-Öffnung für Runner-IPs mit garantierter Bereinigung. Das ist die Art von Betriebshygiene, die Teams überspringen, bis ein Sicherheitsvorfall sie zwingt, alles zu überdenken.&lt;/p&gt;
&lt;h3 id="praktische-empfehlungen-zur-sofortigen-anwendung"&gt;Praktische Empfehlungen zur sofortigen Anwendung&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Teilen Sie Build- und Deploy-Pipelines auf.&lt;/strong&gt; Der Build sollte bei Branches-Änderungen laufen und schnell fehlschlagen. Deploy sollte umgebungsspezifisch und policy-gesteuert sein.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Speichern Sie Zielverbindungszeichenfolgen&lt;/strong&gt; und Infrastruktur-Metadaten in gesicherten Pipeline-Variablen und rotieren Sie regelmäßig Governance-Reviews für Rollenzuweisungen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Halten Sie SqlPackage-Versionen explizit und fixiert in CI&lt;/strong&gt;, um Überraschungen durch Verhaltensänderungen zu vermeiden.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Nicht zu früh überprivilegieren.&lt;/strong&gt; Mit &lt;code&gt;db_ddladmin&lt;/code&gt;, &lt;code&gt;db_datareader&lt;/code&gt; und &lt;code&gt;db_datawriter&lt;/code&gt; zu beginnen, ist eine bessere Baseline, als jedem Pipeline-Prinzipal &lt;code&gt;db_owner&lt;/code&gt; zu geben, &amp;ldquo;nur damit es funktioniert.&amp;rdquo; Eskalieren Sie nur, wenn eine konkrete Deployment-Anforderung es als notwendig erweist.&lt;/p&gt;
&lt;p&gt;Originalquelle: &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;</content:encoded></item></channel></rss>