Opinions expressed on this site are solely those of Kendra Little of Catalyze SQL, LLC. Content policy: Short excerpts of blog posts (3 sentences) may be republished, but longer excerpts and artwork cannot be shared without explicit permission.
By Kendra Little on October 8, 2025
While every managed database service has high points and low points, there are three things that make RDS for SQL Server shine in comparison to Azure SQL Managed Instance: options for a higher memory:vCPU ratio, a well documented API that works beautifully with python, and fast and effective customer support that isn’t painful to use.
It’s just three things, but they make a huge difference. And these are three things that Microsoft can, and SHOULD, really fix for their cloud database services.
(By the way, I have a session on RDS SQL Server from a user’s point of view at PASS Data Community Summit 2025 in November. This is not a sponsored session, I’ll give you the real scoop from a user’s perspective. Hope to see you there!)
SQL Server RDS offers a high memory:vCPU ratio, which really matters for OLTP workloads
AWS offers a variety of database instance class types for RDS.
The standout among these for SQL Server OLTP workloads is the db.x2iedn instance class.
The db.x2iedn class offers:
- 32GB:1 ratio of memory to virtual CPU
- Local SSD for tempdb
As the documentation says:
The X2 instance family provides the highest memory to vCPU ratio compared to all supported RDS DB instance types. This is ideal for SQL Server workloads that are sensitive to per-core licensing, such as SQL Server Enterprise edition and SQL Standard Edition. Your workload can benefit greatly from the higher memory per vCPU (32GiB:1vCPU) offered by X2iedn and reduce the number of vCPU provisioned.
No lies detected– this is good advice. SQL Server per-core licensing is expensive, and SQL Server OLTP workloads massively benefit from having large amounts of memory to reduce the amount of physical IO. No matter what storage type we are talking about, memory access is always dramatically faster than storage access, and SQL Server is engineered to maximize and optimize the use of the buffer pool and other caches to reduce IO. A SQL Server loves memory like I love making lists: I can live without it, but performance significantly suffers.
One problem with managed SQL Servers in the cloud in general is that memory to core ratios SUCK out there. In Azure, if you use “memory optimized” hardware, you can get up to 13.6GB:1 memory to vCPU ratio max.
If you pay the big bucks for Business Critical, you can get local SSD, but I repeat: memory access is always dramatically faster than storage access, and SQL Server is engineered to maximize and optimize the use of the buffer pool and other caches to reduce IO. 13.6:1 is very disappointing, and Microsoft should do much better to compete on this.
The benefits of a well documented API that works well with python
I wanted to love using PowerShell for Managed Instance. I’m a huge believer in automation and in scripting out tasks for repeatability and reducing manual toil. I did OK with the API for Managed Instance, but just OK. There were always weird things that weren’t documented correctly or which were hard to get to work. Using LLMS to generate code had similar problems that I did due to gaps in the documentation. It wasn’t terrible, but it was often frustrating.
Using python to automate tasks with the RDS API has been a lot easier. I started out with a very basic knowledge of python – similar to my PowerShell knowledge. But python has some big advantages: it’s quite readable, and LLMs are optimized to do well with python. The RDS API’s documentation is also pretty darn clear and LLMs seem to be well trained on AWS APIs.
Like any generated code: review, review, review, and test. Then review some more. You have to be extremely careful. But the readability of python and the fact that LLMs are well trained in this area are a powerful combo to work with, and it’s quite fun to script tasks for the RDS API.
Y’all, working with python with AWS' APIs is like having a superpower.
Fast and effective customer support that isn’t painful to use
I wrote a blog post last year titled How to survive opening a Microsoft support ticket for SQL Server or Azure SQL. It truly sucked to be an Azure customer when I had a problem.
The experience of being an Azure SQL Managed Instance customer is that you constantly feel like the support system is trying to deflect you and get rid of you. You feel that the machine is trying to give you any possible answer, whether or not it’s correct, to make you go away as quickly as possible. In order to get quality help, you’ve got to battle various levels of bad advice until you finally get to someone who has time to figure out what’s going on. The system feels optimized primarily to deflect and minimize costs.
The experience of being a SQL Server RDS customer is that you feel like the support system is optimized to help unblock you as soon as possible so that you can successfully use more RDS SQL Server. You have both a client team who can help you and then folks you work with through the ticketing system, and these folks can work together. There is some paperwork occasionally and some waiting sometimes, but by comparison it works pretty darn effectively most of the time. I don’t dread opening a support case at all.
Smart people work in both of these systems. And both of these systems are optimized around profit: Azure feels like it’s trying to reduce costs, AWS feels like it wants to help you spend more. That second experience is a lot more effective and pleasant for customers.
The problems with Azure support aren’t about the employees who provide the support: it’s that the system very much feels to the customer like it’s a cost center that is trying to be squeezed down to the cheapest penny. I don’t think this serves Microsoft well, and it certainly doesn’t help them sell more managed database services to existing customers.
Microsoft, please start to compete on these
As a database person, I want cloud options for managed databases to be more competitive with each other on the basics: performance, automation, and customer service. Right now, for managed SQL Servers in the cloud, AWS RDS has a much better offering for performance and management because of the reasons above.
But these are all very fixable things. Microsoft can make their offerings much stronger in this area, and I hope that they make the investments needed to do so.