Blogs

Altering an indexed view in SQL Server drops all indexes

I learned an interesting thing about ALTER VIEW behavior in SQL Server when applied to indexed views. This is covered in the product documentation, but it’s not something I would have expected: ALTER VIEW can be applied to indexed views; however, ALTER VIEW unconditionally drops all indexes on the view. ALTER VIEW documentation When I first heard about this behavior, it sounded like a bug to me: why should an alteration like adding a column to a view remove all the indexes?

Continue reading

Come work with me! Be a Sales Engineer for Redgate

Redgate is growing, and we have some fresh, new open positions around the world which would be a great fit for SQL Server developers or DBAs who would like to transition to a customer-facing role and develop expertise in Redgate’s solutions for Compliant Database DevOps. Here are the listings and locations for three of these roles:

Continue reading

We can do better

In the past week or so, the Microsoft Data Platform community has begun having a discussion about inclusivity, both on Twitter and across community blog posts.

This conversation began when a member of the community shared their story about being repeatedly mis-gendered and additionally feeling excluded, unwelcome, and hurt at a series of community events.

Continue reading

Protect Your Prod Databases in Azure DevOps / TFS: Three Control Points

When implementing any kind of automation for database deployments, it’s important to implement safeguards for your production environment. This is needed even in the best conditions when team members collaborate well and there is a high level of trust, for a very simple reason: accidents happen easily!

Continue reading

High Availability options for SQL Server 2008 in an Azure VM - a #sqlhelp story

I asked a question on Twitter yesterday: “If running SQL Server 2008 in an Azure VM (no SQL upgrade possible, extended support in place), is the best option for high availability Database Mirroring? Or something else I am not thinking of? #sqlhelp”

Continue reading

A First Look at the Redgate Hybrid Model for SQL Source Control and SQL Change Automation (video)

In this 70 minute livestream recording, I kick the tires of a fresh new Azure DevOps demo environment showing Redgate’s Hybrid Model for SQL Source Control and SQL Change Automation.

Continue reading

Controlling who commits code to a given database schema in Git with Azure DevOps

One of most the fun things about working as an Advocate at Redgate is getting to help clients determine their preferred workflow for database DevOps.

Teams often have unique requirements and are using different combinations of tooling, so figuring out the best way to accomplish what they need typically involves leveraging what I already know, collaborating with my coworkers and the client to generate ideas, researching and prototyping solutions, and then getting feedback from everyone.

Continue reading

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.

Continue reading

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.

Continue reading

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

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.

Continue reading