You don't need to pick the "best" database

Your accountant just told you that the Excel spreadsheet you've been using to track orders has finally broken. Or your existing system is creaking under the weight of actual growth. Or you're building something new and someone asked you which database you want.

The question comes up: SQL Server, MySQL or PostgreSQL?

Here's what usually happens next. You search online and find articles comparing features you don't understand, benchmarks that test scenarios you'll never encounter, and heated arguments about technical minutiae. None of it helps you decide.

We build data systems for small and medium UK businesses. The question we ask first isn't "which is best?" but "which one fits your situation?" Because the honest answer is that all three work perfectly well for most small business needs. The differences that actually matter are practical, not technical.

What you're actually choosing between

SQL Server is Microsoft's database. It runs on Windows (and now Linux, though that's less common). If you're already paying for Microsoft licensing, using Azure, or your IT person lives in the Microsoft world, SQL Server often makes sense.

MySQL is the old workhorse of the web. It's open source, runs everywhere, and your hosting company probably offers it as standard. If you've ever used WordPress or most web hosting control panels, you've used MySQL without knowing it.

PostgreSQL is also open source, and has a reputation for being more rigorous about data integrity. It's become very popular in the last decade, particularly with developers who want more sophisticated features.

All three store your data. All three let you query it, back it up, and recover from disasters. The technical differences exist, but they rarely matter for a business with under 100,000 records or a team under 50 people.

The licensing question is simpler than it sounds

SQL Server requires a licence from Microsoft. For a small business, you'll typically pay either per core (if you're running your own server) or it's bundled into your Azure costs (if you're in the cloud). The Express edition is free but limited to 10GB of data per database, which sounds like a lot until you've been running for a few years.

MySQL and PostgreSQL are free and open source. You can install them, use them, modify them, and never pay a licensing fee. This doesn't mean they're free to run - you still need servers, backups, maintenance - but there's no vendor invoice.

For most small businesses, the licensing cost of SQL Server isn't prohibitive. We've seen scenarios where it's a few hundred pounds a year, and scenarios where it's several thousand. It depends entirely on your setup. But the cost is predictable and known.

The open source databases have no licensing cost, but you're paying for everything else. Your hosting, your backup strategy, your monitoring tools. Sometimes this works out cheaper. Sometimes it doesn't. The difference usually isn't the deciding factor.

What your existing team already knows matters more than you think

We worked with a manufacturing business that needed a new stock management system. Their IT manager had run SQL Server databases for 15 years. He knew how to optimise them, troubleshoot them, back them up, restore them in a panic at 3am.

We could have built the system on PostgreSQL. It would have worked beautifully. But now this experienced person would be learning a new system while trying to keep the business running. Every problem would take longer. Every optimization would need research.

They went with SQL Server. The project stayed on track because the person maintaining it wasn't also learning from scratch.

If your team knows one of these systems well, that's worth more than any feature comparison. If you're hiring your first technical person, ask what they know. Don't make them learn a new database and your business at the same time.

The hosting environment usually makes the decision for you

If you're using Azure, SQL Server is the natural choice. It's integrated, it's supported, and Microsoft has done the work to make it simple. You can use the others, but you're swimming against the current.

If you're on standard web hosting or a typical VPS provider, they probably offer MySQL as standard and PostgreSQL as an option. SQL Server might not be available at all, or it might need a specific Windows hosting plan that costs more.

If you're on AWS, all three are available as managed services. Pick the one that matches what your developers know.

We often see businesses contorting themselves to use a database that doesn't fit their hosting. A small business paying for Windows hosting when they only need it for SQL Server. Or a team struggling to get PostgreSQL running on cheap shared hosting that was really designed for MySQL.

Match the database to where it's going to live. The path of least resistance is usually the right one.

When the technical differences actually matter

Most articles about database selection focus on technical capabilities. For most small businesses, these don't matter. But there are exceptions.

If you're building something that needs very specific data types - geographic data, JSON documents, complex arrays - PostgreSQL has stronger support built in. We built a delivery routing system that needed to calculate distances between postcodes constantly. PostgreSQL's geographic extensions made this straightforward. In SQL Server it would have been possible but more awkward.

If you need tight integration with other Microsoft tools - Power BI, Excel, Active Directory - SQL Server makes this simpler. We've seen businesses where the ability to give the finance team direct Excel access to sales data, using Windows authentication they already had, justified the licensing cost on its own.

If you're running on a very tight budget and need something that works out of the box with minimal configuration, MySQL is hard to beat. It's what WordPress uses, what most web frameworks assume, what your hosting control panel offers by default.

What happens when you need to migrate later

The fear of choosing wrong keeps people stuck. What if we pick MySQL and later need PostgreSQL? What if we start with SQL Server and want to move to the cloud differently?

We migrate databases between these systems regularly. It's work, certainly. There's always something that needs adjusting - a query that uses slightly different syntax, a data type that doesn't map exactly, a stored procedure that needs rewriting.

But it's manageable work, not a catastrophe. We moved a retail business from SQL Server to PostgreSQL when they shifted from an on-premise server to AWS. The migration took two weeks of careful work and testing, happened over a quiet weekend, and the business never stopped trading.

If you choose badly, you're not locked in forever. You're locked in until the pain of staying exceeds the cost of moving. For most small businesses, that never happens because all three options work fine.

The decision process that actually works

Start with what your team knows. If someone already maintains SQL Server databases and knows them well, start there. If your developer has built ten systems on PostgreSQL, trust that experience.

Then look at your hosting. If you're already in Azure and happy there, SQL Server makes sense. If you're on standard web hosting, MySQL or PostgreSQL fit better. Don't fight your infrastructure.

Consider your budget, but don't let licensing cost dominate the decision. A few hundred pounds a year for SQL Server licensing isn't expensive if it means your IT person can work efficiently. Free PostgreSQL isn't cheap if no one knows how to optimise it.

Think about integration. If you're deep in the Microsoft world - Office 365, Active Directory, Power BI - SQL Server will save you integration headaches. If you're building a web application that needs to run anywhere, MySQL or PostgreSQL give you more flexibility.

Make a choice and move forward. The database isn't your product. It's infrastructure. Pick one that fits, build your system, and focus on the business problems you're actually solving.

What we actually recommend

When clients ask us directly, we usually suggest PostgreSQL for new projects that aren't already committed to Microsoft infrastructure. It's free, well supported, runs everywhere, and handles everything a small business throws at it.

But we run plenty of MySQL systems and plenty of SQL Server systems. We've never had a client fail because they chose the "wrong" database. We've seen plenty struggle because they spent months agonising over the choice instead of building their system.

The truth is that your choice of database matters less than your choice of hosting provider, less than having proper backups, less than having someone who knows how to maintain it. All three options work. Pick one that fits your situation and get on with solving actual business problems.