For the longest time, we didn’t have one of the most useful tools for monitoring SQL Server behavior, but I just found out that, indeed, you can use Extended Events in AWS RDS. I’m not waiting around. Let’s see it in action.
Setup For Extended Events in AWS RDS
AWS has posted the documentation on what you have to do in order to enable the collection of Extended Events within RDS. Normallly, I’d follow along with the documentation. However, I’m going to approach this like I knew that Extended Events support was there, but I wasn’t aware of the docs. So, I’m starting in SSMS and I’m just going to try plugging in the Extended Events GUI to see what happens. Further, I’m going to use the simplest method for launching Extended Events, XEvent Profiler. It’s located here:
Two mouse clicks, and it’s… not running:
OK. That’s on me. I actually have read the documentation. My normal test bed for playing within AWS is setup as Express so I can keep the costs down. First, I need to create a Standard or Enterprise version of SQL Server in RDS. But I wanted to see what happens. Hang on a sec. I have to go create a new database…
I’m back.
I immediately try using the XEvent Profiler and I get a new error:
Honestly, that’s good news. It’s telling me simply that there’s a limit on how the session can be configured, not that I can’t do it. Instead of messing with this stuff though, let’s switch gears and actually create a session.
Creating An Extended Events Session
Again, I want to try the GUI. So, I start up the New Session window. There’s a delay. It’s downloading the events and all the other information across my apallingly slow internet conection. However, after a bit, I get this:
Note the small section of the window on the lower left where it says “Connection”. That’s right. I’m connected to an RDS instance. I go ahead and create a session. It succeeds. I fire up the Live Data Explorer window. I’m looking at this:
This is both incredibly exciting and utterly boring.
Here’s the exciting bit. I’m not only running Extended Events in AWS RDS at long last, but I’m able to look at the data collected in real time. I’ve had Extended Events in Azure SQL Database forever, but you can’t look at the data through the Data Explorer without downloading it first. Here, that’s not required at all.
Here’s the boring bit. It just works. Yeah, maybe that should be exciting too, but there’s not much else to say.
Extended Events in AWS RDS just works.
Conclusion
I’m surprised this is getting shouted from the rooftops, so please, let me be the first. I’m now out on my roof and I’m shouting:
WE HAVE EXTENDED EVENTS IN AWS RDS!
Seriously though, this is great news. I do wish we could get it in the Express version as well, but I assume this isn’t easy for them and so they only want it in places that are likely to be production oriented. Makes sense. However, shy a few limitations on file placement and a few events that don’t work, all in the linked documentation, we now have Extended Events in AWS RDS. That’s fantastic news.