SQL Server Licensing Audit: A New Zealand Guide to Cutting Costs
A SQL Server licensing audit checks every instance you run: edition, cores, Software Assurance, and what each one is actually doing. Then it finds the…
Six hours to six minutes
A fashion retailer with around thirty stores generated its daily restock picklist overnight. It took six hours. The stores waited on it. The picklist ran on…
Your SQL Server licence bill is the small problem
The bigger one is the bill you have not been sent yet. Most SQL Server estates drift out of licensing compliance with no intent to cheat, and the gap only…
$20k to save $200k
An FMCG distributor in New Zealand was carrying a SQL Server licensing liability close to $200,000. It had crept up the way these things do. Over the years,…
A monthly licensing bill, cut by 90%
A New Zealand IT managed-services provider was paying about $18k a month more than it needed to. The cause was sitting in plain sight. The wrong SQL Server…
A 400,000-item queue, cleared
A fleet-telematics provider had a vehicle-tracking queue more than 400,000 items deep and hours behind. Their clients could not see where their own fleet…
A stalled migration, finished
An Australian and New Zealand fashion retailer had moved SQL Server to Azure. It was slow, it was expensive, and an earlier migration had stalled before…
A 20TB backup, brought back inside SLA
A metropolitan transport agency ran a 20TB SQL Server database against a two-hour recovery objective. The backup took up to six hours. The numbers did not…
Forty seconds to twelve
A global corporate-travel and expense platform had hotel searches taking forty seconds at peak. Their threshold was fifteen. The team had started to doubt…
A port's gates, unblocked
A port operator had boom gates running slowly enough to throttle truck volumes. The queue backed traffic out onto the public road. When the gate system is…
SQL Server Performance Tuning: How to Find and Fix the Bottleneck
SQL Server performance tuning is finding what your server is actually waiting on, then fixing that one thing. Not guessing. Not adding hardware and hoping.…
Payroll from thirteen hours to six
A regional healthcare group ran payroll in thirteen hours. While it ran, every report in the business waited behind it. Thirteen hours is not just a long…
Branch reporting interruptions, gone
A group of locally-owned home-appliance stores kept losing its reporting partway through. Every branch felt it. Reporting that fails halfway is worse than…
Deadlocks across national logistics, cut by 92%
A national food-service distributor had SQL deadlocks interrupting its logistics operation. In a business that moves on time, that is not a small thing.…
The five things we find on almost every SQL Server
Across 20,000+ assessments, the same five gaps turn up on almost every estate. None are exotic. All are preventable. Most owners have no idea they are there.…
SQL Server High Availability and Disaster Recovery: What You Actually Need
High availability keeps your SQL Server running when something fails. Disaster recovery gets you back after something bigger fails. They are different jobs,…
SQL Server Migrations and Upgrades: On-Prem, Azure, and How to Not Break Things
A SQL Server migration moves your databases to new hardware, a new version, or the cloud. An upgrade moves you to a newer SQL Server release. Both are…
The backup you've never restored
You have been told your backups are fine. You would be right to be sceptical of one more person saying otherwise. So I will not. I will ask instead. When was…
The 2:39am call: a restore that wasn't there
It is always 2:39 in the morning. I do not know why. I have watched the clock on enough of these calls to believe it is a law of nature. This one was a…
How to get budget for the risk you already know about
You already know about the risk. That is the part of your job nobody talks about. You know the backups have not been tested. You know there is a server…
Your DBA just left. Who has the keys?
Your DBA resigned on Friday. Friendly enough, two weeks' notice, a handover document nobody will read. By the end of the month the person who actually…
The server everyone forgot was still in production
Every estate has one. The server nobody mentions on the tour. It does not appear on the diagram. It is not in the monitoring. The person who built it has…
The audit finding nobody put in front of you
You are probably already drowning in audit. The last thing you want is another supplier telling you about a control you have not thought about. Fair enough.…
Brief your board on database risk in one page
You have ten minutes on the board agenda and a database risk that needs a decision. Here is the one page that gets it. Most technical people lose the room by…
The compliance gap you can't see
Here is a thing most boards do not know about their own systems. The database files that hold your customers' data are very often sitting on disk completely…
We found an account still called sa
On a lot of SQL Servers there is an account called sa. It is the original master key, the one that can do anything, and its name has been the same since…
The single point of failure on your team isn't a server
You have spent years building resilience into your systems. Redundant power. Clustered servers. Failover for the things that matter. And the whole estate…
The corruption you can't see until you need that page
Databases rot quietly. A bad disk sector, a firmware bug, a power event at the wrong moment, and a page deep inside your database becomes unreadable. The…
You're hearing about outages from your customers
Here is a question that tells you more than any dashboard. When something goes wrong with your databases, who finds out first: your team, or your customers?…
The disk filled up at 11pm and took the business with it
It is almost always a disk. Not a dramatic failure, not a hack, just a disk that quietly filled up, on a Tuesday night, while everyone was asleep. This one…
The SQL Server that stopped getting security fixes
Somewhere in your estate, the odds are good, there is a SQL Server running a version Microsoft stopped supporting years ago. It still works. It has worked…
The number on the board report had been wrong for a year
Not every database disaster looks like a disaster. Some of them look like a number on a slide that everyone has trusted for a year. This one was a services…
The restore that took four hours when you promised one
Somewhere in a policy document, or a contract, or a slide a board signed off, there is a number. The time you have promised it takes to recover your most…
Your cloud database bill is climbing and nobody owns it
Moving to the cloud was supposed to make the database bill predictable. For a lot of organisations it did the opposite. The monthly cloud cost crept up,…
The month-end report that brings the whole server to its knees
Every business has a report that everyone dreads running. It is usually month-end, or year-end, or the big board pack, and when it runs, the database slows…
We don't make the news. That's the point.
You will never read a headline about a database disaster that did not happen. That is the strange thing about this work. When it is done well, the result is…
The test database with a full copy of your production data
Here is a quiet one that turns up in nearly every estate we look at. A test or development database, sitting on a less-protected server, with a full, real…
We restored from backup. It was three weeks old.
The backup job had been green for months. Every morning, a tick. Everyone slept fine. Then the day came that they needed it, and the most recent restorable…
The vendor said the database was fine
A lot of organisations run a critical system supplied by a vendor. The application is theirs, the database underneath is theirs to install, and somewhere…
What "managed" is supposed to mean
You pay someone to manage your databases, or your servers, or your IT. The invoice says managed. The question worth asking, calmly, is: managed how, exactly,…
Two systems, two numbers. Which one is lying?
It usually surfaces in a meeting. The finance system says one number. The operations system says another. They are supposed to be the same number, and they…
The login from 2019 that can still do everything
Somewhere in your databases there is almost certainly a login created years ago, for a person or a project long gone, that still has the keys to everything.…
What your cyber-insurance actually requires of your databases
Your cyber-insurance policy has conditions. Most people sign it, file it, and never read the fine print, until a claim, which is exactly the wrong time to…
The "temporary" fix that's been in production for six years
There is no such thing as a temporary fix. There is only a fix, and the date you stopped looking at it. Every estate is held together by a few of these. The…
You bought a bigger server. The problem came with you.
When a database is slow, the instinct is understandable: buy more. More memory, more cores, faster disks, a bigger box in the cloud. Sometimes it helps.…
Shadow IT: the spreadsheet that quietly became a production database
It almost never starts as a database. It starts as a spreadsheet. Someone in a team needed to track something the official systems did not handle, so they…
When the database dies at 3am, who actually gets called?
Picture the worst night. Your most important database is down at 3am. Walk it through, honestly, step by step. Who notices first, and how? Who do they call?…
The database that will hit a wall you can predict to the week
Some risks are genuinely unpredictable. This is not one of them. A database that is growing steadily, on storage that is fixed, will run out of room. You can…
Ransomware took your backups too
You think your backups are your way out of a ransomware attack. That is the plan most boards have, and on paper it is the right one. The catch is that the…
Your DR copy is in the same building as production
You are going to tell me you have a disaster recovery copy, and you are right. There is a second server, it is in sync, the failover has been tested. I am…
The certificate nobody owned, and the Tuesday it expired
A certificate expired on a Tuesday and an application stopped talking to its database. No deploy, no patch, no change request. The connection just died at a…
You just inherited databases nobody documented
You took over a system you did not build. An acquisition closed, or the last person walked out, or a reorg dropped someone else's estate on your desk. Either…
The cloud does not back up your database for you
You moved to the cloud and you assume backups are handled. That is a fair assumption to make. It is also the assumption that turns a routine data loss into a…
The third party with standing keys to your database
You trust your integration partners, and the access they hold was granted for good reasons by people who knew what they were doing. Fair enough. The question…
The admin password lives in a spreadsheet
The password to the server that runs the company is in a spreadsheet. Tab three, halfway down, next to the firewall login and the WiFi for the boardroom. We…
After the reorg, three databases have no owner
Every reorg creates orphans. Teams get dissolved, merged, or moved, and the databases they ran do not get formally handed to anyone. The quiet work the old…
The tiny update that pushed the server off a cliff
Everything was fine on Monday. A small update went in on Tuesday. By Friday the server was on its knees, and nobody had connected the two. They never do at…
The personal data you are legally required to delete and never have
You probably file this under records management, not the board. It belongs on the board. The Privacy Act lets you keep personal information only for as long…
You Knew The Date. Did The Database?
You have the date circled. The big sale, the launch, the end of the financial year. Marketing has known for months. Finance has known for a year. The whole…
The Database Nobody Has Maintained Since 2016
You can make the case for a fix when something breaks. A fix has a date, a cost, and an outage you can point at. What you cannot easily fund is the absence…
A simple guide to drawing in SQL server using SSMS. A technical article.
tl;dr. Look for the SQL files here, https://github.com/SQLAdrian/drawingWithSSMS(https://github.com/SQLAdrian/drawingWithSSMS) The premise is quite simple,…
The Linked Server Nobody Documented
I have seen some version of this many times. A team decommissions an old reporting box. Routine work, signed off, nothing dramatic. The next morning, a…
When the auditor asks who changed that record
Your systems can tell you what a number is right now. They very often cannot tell you who made it that number, or when, or what it was before. The current…
The default setting that had been throttling you since install
This one never falls off a cliff. It is just slow, and it has always been slow, and that is exactly why nobody looks. A cliff gets investigated. A server…
The side database that quietly started running a department
You have a database nobody decided to keep. It started as a side project. Someone in a department needed a quick answer the main systems would not give them,…
You Do Not Know Which Country Your Data Sleeps In
Here is a claim you may not be able to answer cleanly. You do not know, today, which physical country holds every copy of your customer data. You know where…
The vendor app that demanded sysadmin, and got it
Years ago, someone installed a third-party app. The installer would not run unless the account it used had full sysadmin rights on the SQL Server. The…
You Encrypted the Backups. Who Holds the Key?
Somewhere in your last audit cycle, someone ticked a box that said the database backups are encrypted. That was the right call, and it probably closed a…
Nobody will sign off the downtime, so the downtime signs itself off
You have asked three times. The patch is overdue, the maintenance is overdue, and every time you raise it the answer is the same. Not this month. We cannot…
The overnight job that had been failing for a year
A scheduled job had been failing every night for about a year before anyone found out. Not a quiet, partial failure. A clean, total, red failure, every…
The Web Form That Can Read Your Whole Database
Somewhere on a site your company owns, there is a text box. A login, a search bar, a contact form. It looks harmless. Your customers type into it every day.…
Why CNAMEs are great for SQL migrations
See how using CNAMEs during SQL migrations can reduce risk and save time with fever reconfiguration needed. Migrations are full of risk and CNAMEs offer a…
Easier way to set SPNs
I'm sure you are familiar with SSPI errors like the following: SSPI handshake failed with error code 0x80090311, state 14 while establishing a connection…
Defining a framework for reporting on SQL server risks
With many great SQL scripts out there to monitor and report on issues and risks in a SQL server environment it is easy to get lost in what is really…
Dirty little SQL secrets – One night with DPM and my transaction log
Caveat - This is just my understanding, so it is probably fundamentally flawed, but this is how I understand things and hopefully I can impart some of that…
Trello task reporting using SQL Server 2012.
Trello – let's say you want to organize some tasks, like say anything-you-can-think-of, you can use Trello. We use it to manage our Tasks and Projects in IT.…
SQL Install: Bypass the “Restart computer” setup support rule
Need to add a feature or something on SQL but you can't because there is a restart pending? Well let me show you how. Before proceeding you need to…
How far is that SQL backup?
Good question, and normally it gets accompanied with some shouting. We normally tend to stagger our workloads into something that resembles a lot of backups…
How long will SQL Database be IN RECOVERY
Your SQL Server just decided to throw its toys out of the cot and it was right slap bang in the middle of that big index rebuild you were doing, or that…
SQL Query AD Distribution Lists Membership
Ever wanted to query your AD from SQL and then list all the members of your Distribution Lists? Because you can’t do it, sheesh, that was easy. There are…
Dynamic SQL: What you need to know
I use Dynamic SQL queries for everything.. yes even for buttering my bread and putting on my socks. Yes, there are some security risks when using Dynamic…
Execution Plan's Plan A
So you want to make your life easier. You want a nice big whopping bonus. You want that dodgy admin who talks in korn shell to finally respect you because…
Help! My server ate my SQL indexes
Not really, but it is a nice little title isn't it. So you are looking for a quick fix for your indexes. Use this little script. Thanks to Brent Ozar and…
Use this trick to bypass "Restart Computer" checks
I seem to revisit this more often than I really feel comfortable with since the first post back in 2014, but there are just so many times when I cannot…