Automated MS SQL Server database deployments with dacpacs and Azure DevOps
Manually scripting updates for 400 databases was impossible. So we started treating our schema as code using dacpacs and Azure DevOps.
#1about 2 minutes
The challenge of managing hundreds of distributed SQL databases
The core problem was automating deployments across nearly 400 highly customized SQL Server databases on different environments and servers.
#2about 3 minutes
Solution design using dacpacs and Azure DevOps pipelines
The solution involves extracting a database schema into a dacpac, managing it as code in a Visual Studio project, and deploying it via Azure DevOps.
#3about 3 minutes
Implementing the deployment pipeline in Azure DevOps
The pipeline uses MSBuild for building artifacts and WinRM for deployment, with libraries and task groups for reusable, configurable steps.
#4about 12 minutes
How dacpac deployments work with SQLPackage.exe
A dacpac deployment uses SQLPackage.exe to compare the dacpac model with the target database, guided by a publish.xml profile, to generate and apply an update script.
#5about 7 minutes
Handling limitations like multi-environment support
The lack of built-in multi-environment support for objects like users and logins is managed using pre- and post-deployment scripts with SQLCMD variables.
#6about 2 minutes
Advanced customization with deployment contributors
You can extend the deployment process by writing custom C# code using additional deployment contributors to modify SQLPackage behavior, such as ignoring specific objects.
#7about 8 minutes
Q&A on cloud services, dacpac use cases, and PowerShell
The Q&A covers choosing cloud providers, scenarios where dacpacs are not recommended, the use of PowerShell scripts, and handling relational constraints during deployments.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:47 MIN
Applying software engineering practices to data pipelines
Enjoying SQL data pipelines with dbt
03:39 MIN
Automating deployments and leveraging managed services
Cloud-nativeApplications- What’s the buzz about
03:02 MIN
A DBA's journey to running SQL Server on Kubernetes
Adjusting Pod Eviction Timings in Kubernetes
05:00 MIN
Using the Modern Data Stack and DBT for transformations
Modern Data Architectures need Software Engineering
04:09 MIN
Understanding the unique challenges of database DevOps
Database DevOps with Containers
04:04 MIN
Key takeaways for building event-driven systems on Azure
Implementing an Event Sourcing strategy on Azure
01:55 MIN
Merging data engineering and DevOps for scalability
Software Engineering Social Connection: Yubo’s lean approach to scaling an 80M-user infrastructure
04:11 MIN
Applying a Git-like workflow to database schema changes
Branch your database like your code: How schema changes and pull requests go hand in hand
Dev Digest 134 - Where pixels sing?News and ArticlesWeAreDevelopers LIVE Data and Security Day is on Wednesday, 25/09/2024. Learn about OPC UA Updates, Best Practices for Using GitHub Secrets, Passwordless Web 1.5, Emerging AI Security Risks, Data Privacy in LLMs and get a chance to t...
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take partStarting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
Benedikt Bischof
Making Data Warehouses Fast: A Developer’s StoryWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Adnan Rahic who teaches the audience how to make data warehouses.About the Speaker: Adnan is senior developers advocate at Cube. His passion lie...