Kilt Day!

Uncategorized
This is a quick blog post to announce that I am reviving Kilt Day at PASS Data Community Summit. Over the last few years... ah hell, let's just say it. I'm old. Without equivocation, no reserve, I love PASS Summit. But holy smokes it's exhausting. Especially the last few years. What's changed? Me. I'm getting old. So, I looked around at things I could trim, stuff I could avoid, ways I could be both be a bit more comfortable and just take some load off my shoulders. Kilt Day. I tried to get others to "run" it. No one did. It's a bit inexplicable because, there's nothing to it. Announce it. Advertise it (this is the "hard" part). Keep advertising it. Show up in a kilt. That's pretty much it.…
Read More

Use Your Voice

Professional Development
If you want more of a career and less of a job, one thing you will have to do is learn to use your voice. I mean this on multiple levels, so let's talk about it. Volume, Tone & All That Stuff When I say "learn to use your voice," one of the things I mean is that you will need to spend some time learning how to literally, physically, speak. It takes some practice to understand how to increase your volume so people can hear it you without actually shouting. If you have to speak for an hour or more, controlling tone and volume does take time to learn. I know people who can't talk long without hurting their vocal cords. If you're one of those people, track down…
Read More

Only Capture Extended Events For a Given Time

SQL Server
It's a great question. Let's say you want to capture stored procedure completions. But, you only want to capture them between 3AM and 4AM. Can you do it? Output of rpc_completed Let's create a really simple event: CREATE EVENT SESSION [RPCTimeBoxed] ON SERVER ADD EVENT sqlserver.rpc_completed(SET collect_statement=(1) WHERE ([sqlserver].[database_name]=N'AdventureWorks')); If we start this event, run some code, the output within the Data Explorer window looks like this: Just a couple of points here. Notice the fields in the event. None of them are dates or times. However, up above, we get the timestamp column. Done, right? Let's use that. But first, what does AI, through CoPilot tell me? CoPilot To The Rescue? I asked CoPilot. It took a couple of refinements to get it on board with the idea that…
Read More

Data Technology Learning Resources

AWS, Azure, Database Fundamentals, PostgreSQL, SQL Server
Hey all! Quick one here. Tracy Boggiano, awesome person that she is, has put together an interesting collection of data over on GitHub. It's titled DBA Resources, but it goes beyond DBAs. It's much more about the different data platforms on display. And, it's in Github. Create a pull request and you can add to it. Get your own blog on there, whatever. Anyhoo, worth a look. I'm going to do some contributions. Oh, AND, it's multi-platform, cause, isn't everything these days.
Read More

Exploring Window Functions Execution Plans

SQL Server
There are quite a few different ways that you're likely to see window functions evidence themselves within your execution plan. Let's take a look at one example. Window Functions For our example, I've got a pretty simple query: SELECT soh.CustomerID, soh.SubTotal, ROW_NUMBER() OVER (PARTITION BY soh.CustomerID ORDER BY soh.OrderDate ASC) AS RowNum, Soh.OrderDate FROM Sales.SalesOrderHeader AS soh WHERE soh.OrderDate BETWEEN '1/1/2013' AND '7/1/2013' ORDER BY RowNum DESC, soh.OrderDate; Nothing to it really. What kind of execution plan does this generate? Here's the plan with runtime metrics (aka, an actual plan): I showed the missing index suggestion (and let's remember, they're just suggestions) just for completion and to show I'm not hiding anything. Potentially, adding an index could speed up the query. However, that doesn't affect what we're going to talk…
Read More

The Community is YOU, Not Any Organization

Professional Development
As I type this, we're leaving behind spring, and all the amazing events that take place then, and entering the quiet time of summer. After that, we'll go into the fall and hundreds of community events (feels like hundreds) will kick off again. Before all that, I wanted to share what I think is an important message: The community is you. Let's talk about it. What Really Defines Community First up, community is not an organization. Sure, organizations can and do support and define communities, but they themselves are not the community. The community is, at the core, down to the people that make it up. The social norms we build around our communication with one another, interests, methods, values, these are what define a community. And yes, a good…
Read More

Six Months!

Professional Development
Oh good gosh. Six months without a single blog post. Most important information: I'm not dead. Apologies. The issue is pretty simple. I'm getting old. Ha! Seriously though, I am suffering a bit from a lack of energy to do ALL the things and still maintain this blog. However, to hell with that. Time for a refresh. Watch this space. I'm going to be cleaning it up. Changing a few things. Also, getting back to posting. I don't think as many of the posts will be technical though. I'm going to start posting some leadership ideas and suggestions. I've been involved in community for a long time, and I want to see it keep going. I have received so much from the communities I'm involved with, I want to give…
Read More

PostgreSQL Events – A Newbies Perspective: #PGSQLPhriday 014

PostgreSQL
For this month's #PGSQLPhriday 014 blogging event, Pavlo Golub has asked a pretty simple question: What do you think about PostgreSQL events? Prior to this year, I'd never attended an event focused on PostgreSQL. Heck, I'd never attended an event that had an intentional track or learning pathway, or whatever, focused on PostgreSQL. In the past year though, I've now attended four. As a complete newbie, let me tell you a little bit about the PostgreSQL community as I see it. Welcoming The very first word that comes to mind when I think about the PostgreSQL community is that it is welcoming. Like the SQL Server community that I've been practically living with for the last almost 20 years, the people who make up the PostgreSQL community are very kind,…
Read More

Query Store Reports Time Intervals

SQL Server
A great question came up over at DBA.StackExchange regarding the query store reports time intervals: How can SQL Server's Query Store Reports show data for minute-length intervals, when "Statistics Collection Interval" is set to 1 hour? I was intrigued because it's not something I had thought about at all. How Does the Report Decided on Time? The first thing you need to know is that all performance information inside Query Store is aggregated. By default, the aggregation interval is 60 minutes. You can adjust that up or down (although, I wouldn't recommend making it too granular, you'll see a massive increase in storage size). It's aggregated because trying to capture every execution of every query, as anyone who has done it using Extended Events knows, is expensive and has a…
Read More

T-SQL Tuesday #166: Wrap-up

SQL Server
Once more, my apologies for being late on getting the T-SQL Tuesday announcement out. I have no excuse. However, our extended event on Extended Events (yes, I'm the third person to make this joke, yes, I'm blatantly stealing) still has several entries, so let's talk about them. Let's get mine out of the way. I was simply curious what the search engines revealed when I asked a pretty common question: how do you identify slow queries? What I found was, the answers on most search engines to this question are old, very old. Not to say wrong, but since many of them were created before a working version of Extended Events (let alone Query Store) was released, how could they tell you. On to actually good posts. One of my…
Read More