Upcoming Events

Level Up Your Deployments for SQL Source Control – Thu, Feb 20 at 4pm GMT/ 11 AM Eastern – Free webinar

SQLBits – Core Best Practices for High Performing DevOps Teams (Session) – March 31 to April 4 – London, UK –  Register

Data Grillen 2020 – May 28, 29 –  Lingen, Germany – sold out – schedule

Data Ceili – July 10 – Dublin, Ireland – Free! Register

Recent Recordings

Redgate Evangelist YouTube Channel: Tutorials on Database DevOps -New videos each week – Watch

Key findings from the 2020 State of Database DevOps Report – Watch

Managing and Automating Test Datasets for DevOps  with Jeffrey Palermo – Watch

How to Make Your 2020 Monitoring Strategy a Success, with BMW’s Tony Maddonna – Watch

Essential Practices for High Performing Database DevOps Teams – Watch

Fast and Reliable Development with Redgate Solutions for SQL Server – Watch

Implementing Data Masking for NIST Compliance – 1 hour – Watch

How Developers and DBAs Collaborate in a DevOps World – 40 minutes – Watch

How DevOps Keeps DBAs Safe from Being Automated Out of a Job – 1 hour – Watch

DevOps: What, who, why and how? – 1 hour – Watch

Can This Team Succeed at DevOps? Panel discussion – 1 hour – Watch

Why I like the ‘Release Flow’ branching strategy with Git for database DevOps

When people begin applying DevOps principles to database development using Redgate tooling, often one of the first steps in the process involves getting database code into version control. Questions naturally come up about how to manage the flow of changes to database objects from development into production once changes begin occurring. When using Git for version control, branches are a huge help when it comes to managing this flow. But how do you use branches? It’s helpful to pick a strategy. There are many fine Git branching strategies out there, things like GitFlow and GitHub Flow and more — enough that it’s overwhelming to learn about these when you are just starting out. The strategy that I recommend for folks who are starting out with database DevOps and Git is the Azure DevOps team Release Flow model with dedicated development databases. (Why dedicated development databases? Read more here.) Why the…
Read More

Why I’m Learning Git via the Command Line Interface

I’ve learned a bit about Git in the last year: I’m now quite comfortable creating and managing Git Repos in Azure DevOps. I frequently do demos with SQL Change Automation and  SQL Source control with Git on Redgate’s YouTube channel, and I’ve published a Git Cheat Sheet for the Command Line Interface. I love learning Git now: I’m very comfortable with a small set of core commands which empower me to get a lot done and I’m able to regularly add new bits of knowledge into my repertoire. I was interested in learning Git before, and I tried and failed to get started learning more than once. Each time, part of the problem was that I tried to use graphical tooling which I thought would make the whole thing simpler, but which I found to be difficult to start using – and also prone to quickly getting me into complex…
Read More

Resolving Merge Conflicts in SQL Source Control – the Basics (video)

No Comments
In this 35 minute livestream recording, I commit conflicting code to a Git repo in Azure DevOps Services using Redgate’s SQL Source Control, then step through options to fix the conflict. We first run through an example where we hit a conflict when pushing to the master branch and resolve that. Then we run through an example where we are using a feature branch and identify the conflict when doing a pull request to merge the change into master. To follow along with this demo yourself… SQL Source Control is part of Redgate’s SQL Toolbelt. It is not free, but we have a free trial. If you don’t need automated build and deployments, you can also purchase SQL Source Control individually.The Northwind database is shared by Microsoft under the MIT License on GitHubI use the Sublime Merge editor in this demo to resolve the conflict. You can try that out…
Read More

Database Reliability Engineering (22 minute video)

No Comments
I was fascinated yesterday to come across the term, “Database Reliability Engineering,” which I hadn’t seen before. In this 22 minute whiteboarding session, I talk about why we need new terms for “Database Administration,” and my initial understanding of what Database Reliability Engineering means by comparison.
Read More

Online, Resumable, and WAIT_AT_LOW_PRIORITY operations in SQL Server

1 Comment
ONLINE operations in SQL Server were simple to understand for years — we got ONLINE index rebuilds in SQL Server 2005. That was it for a while. Then, things got more complicated: we got more types of indexes. We got ONLINE options for schema changes that don’t involve indexes. We got more options for managing things like blocking, because online operations are really only mostly online — generally there’s going to be at least a short period where an exclusive lock is needed to update metadata. We now have some RESUMABLE operations coming in, too, for those big operations that are tough to handle. Along the way, I fell behind. Because these features have steadily come out over a period of time, my brain simply didn’t register them all, or possibly I missed seeing them amid other announcements. Having realized this, I did a little inventory: here’s my rundown of…
Read More