Words are hard. Acronyms are even harder. Here’s the words that give me the most trouble when talking to people about SQL Server. And thanks to all my Twitter friends quoted here for their suggestions!
“I have a question about replication…”
“Which kind? Transactional? Merge? Peer to Peer?”
Technically, the word “replication” refers to very specific features to publish and subscribe to data at the table level in SQL Server. But users commonly use the word as a general term to cover other technologies used to replicate data between SQL Servers (see there, I just said “replicate”), so you never quite know what anyone means at first without clarifying.
“We use snapshots for that.”
“Oh, a database snapshot? Or a replication snapshot?”
“Oh, no, we do it with the SAN.”
The word snapshot is super-popular when it comes to SQL Server technologies. It’s even the name of an isolation level.
“We’ve got a SQL Server on that cluster.”
“Oh, a Windows failover cluster?”
“Sort of? It’s virtualization.”
You can cluster in many different ways. You may have a cluster of virtualization hosts. Or you could have SQL Server installed in a Windows Failover Cluster. Or you could have both!
Cluster + AG
“We’ve got a cluster and an AG.”
“Is the cluster in the AG?”
“Yes, on all three servers.”
“Cluster” is more confusing than ever, because AlwaysOn Availability Groups require a Windows Failover Cluster. And you might combine a Windows Failover Cluster Instance with your AlwaysOn Availability Group, so there’s a failover cluster and… a cluster. Yeah, there’s a proper way to use these terms (and their related acronyms), but practically speaking nobody understands them. When things get confusing, just surrender and draw a picture. It’s easier.
“We’ve got three SQL Servers in a HAG.”
“In a what?”
I’m not sure why, but some Microsoft blogs and posts started using the acronym HAG for “High Availability Group.” Most SQL Server posts just use the shorter acronym “AG” for “Availability Group”, or spell out AlwaysOn Availability Groups.
“Truncating the log”
“We truncate the log every hour.”
“Oh. What command do you use to run that?”
“Let me look. Oh, it’s BACKUP LOG.”
“Are you using TRUNCATE_ONLY?”
“Truncating the log” is an older phrase that still sticks around. People start saying “truncate” instead of “backup”. They mean completely different things — and it’s really important to clarify what’s being run.
“Have you enabled the DAC?”
“No, we don’t use DAC packages. That feature was terrible.”
“No, I mean the Dedicated Admin Connection.”
Histogram: A target for Extended Events in SQL Server 2012 or later. (But if you’re using an earlier version of Extended Events, it’s called a “Bucketizer”.)
Histogram: A table showing the distribution of values used in a statistic.
These are completely unrelated. Although I guess you could probably use an Extended Events histogram target to run a trace showing if a procedure recompiled because statistics updated on a table (which means that histogram would have changed). I have no idea if that sentence even makes any sense.
Speaking of statistics…
“Let’s look at the stats for that query.”
“You mean the statistics on the indexes?”
“No, the statistics in dm_exec_query_stats.”
I have a huge problem with this word when I’m teaching. I frequently have to use ‘statistics’, and make sure that what I’m saying isn’t totally misleading because the word can have multiple meanings.
“In memory” data
“We’re really interested in keeping the data ‘In Memory’.”
“Do you mean by using Hekaton?”
“No, we mean by just adding memory to the server.”
It could be worse…
@Kendra_Little The alternative is to go nosql. Give *everything* a new name: I used floop to skadoosh my bazinga cluster and it schlemozzled— Michael J Swart (@MJSwart) November 25, 2014
Until we have perfect terms, I’ll be here, using the DAC to take a snapshot of your statistics on the cluster.