SQL Availability Groups: Find the Primary Server

Here is a quick SQL script that will get back information on SQL availability groups, including the role of each server. This can help you find the primary server in an availability group. IF SERVERPROPERTY (‘IsHadrEnabled’) = 1 BEGIN SELECT AvailabilityGroup.name AS AvailabilityGroupName, ReplicaClusterStates.replica_server_name as ServerName, ReplicaStates.role_desc as ReplicaRole, Listeners.dns_name as DnsName FROM sys.availability_groups_cluster AS […]

When you perform a SQL bulk update, you can just press go and wait. Most humans, though, get an increasing feeling of impending doom when the clock ticks up towards several hours with no visible progress. If you are running a transaction and have other things competing for the table, you’ll start hearing about slow […]

I saw a picture that hinted that DevOps was a substitute or successor for Agile. This made me consider the question “Is DevOps a replacement for Agile?”. It had a chart that represented time from left to right, and suggested that Agile was “waterfall with shorter iterations” and that DevOps was “agile with even shorter […]

This is a balancing post to follow on from work I have done in several teams on estimates. Firstly, I’d like to confirm that in some teams, I have eliminated estimates; and in others I have improved the discipline of estimates. Both are valid approaches in different situations. What I never do is leave dysfunctional […]

Human capacity is hard to understand, so we create metaphors to simplify things. When people talk about capacity, thought-bubbles emerge from the heads of some managers, revealing an interesting problem. They view capacity as a bucket into which you pour liquid-work until it is full. This metaphor for capacity leads to bad outcomes. Work isn’t […]