Categories
SQL Server

More Context for Copilot with SSMS v22.3

Last week, Database Instructions landed for GitHub Copilot as part of the SSMS v22.3 release. Database Instructions piggyback on extended properties to give Copilot specific context about database objects, which can in turn improve its responses. For me though, this is much more than a step closer to succumbing to AI. I see this as […]

Categories
T-SQL Tuesday

T-SQL Tuesday #195 – How Has My Code Aged?

This month, Pat asks us to consider how our code has aged. Like fine wine, or old milk? A common time to revisit old code is when something breaks. I was contemplating Pat’s question this week when a field length change had caused a truncation issue in an old SSIS data flow. Some code doesn’t age […]

Categories
Career

Is the Accidental DBA Dead?

For many over the years, they didn’t choose their role. The Accidental DBA was a recognised path into the profession. With platforms and skills changing, I thought it worth asking – are those days behind us? This route to DBA was straightforward. As Brent concisely put it nearly a decade ago – “stand near the database”. That […]

Categories
Fabric Power BI

Intentional Header Behaviour in Paginated Reports

If you’ve tried to get header rows to repeat or scroll as you move through your paginated reports, you may have felt the frustration of getting them working correctly. Whether it’s Reporting Services, Power BI, or Fabric, the flavour doesn’t matter. The properties on the tablix should provide the functionality, but they’re not reliable. In this post […]

Categories
T-SQL Tuesday

T-SQL Tuesday #194 – Learning from Mistakes

Part of the joy of new experiences is making mistakes and learning from them. For this month’s invitation, Louis Davidson asks us to share one of those mistakes to help others learn. The lesson I learned: don’t let order become meaning TL;DR: Don’t reuse numeric sequences for things they’re not designed for. With the prevalence of identity columns on tables, it […]

Categories
Fabric Power BI

Elevate Report Presentation with Apps in Power BI and Fabric

When using Power BI or Fabric workspaces to browse reports, we’re greeted with a list of items and their attributes. While attention is given to report visuals such as bars, pies, candles, and RAG highlights, the surrounding experience is neglected. When it comes to consumption, the standard interface falls short. Apps fill this gap. They’ve […]

Categories
Personal

A Two-Year Review (2024-2025)

January is a great time of year to raise your head and take a look around. Looking back at what has been, where we’re going, and the technical and mental debt which needs a clear out. I skipped this Year in Review last year due to other commitments, so there’s a little more ground to […]

Categories
SQL Server

The Halloween Problem and SQL Server

It’s not the usual time of year to think about Halloween, but listening to Erik Darling and Kendra Little recently on the Dear SQL DBA podcast they mentioned a completely new topic to me: Halloween protection. No, it doesn’t prevent horrors in your code, or shops putting out festive decorations in October. It’s actually much more interesting and thought it was worth […]

Categories
SQL

Understanding Return Types with ISNULL and COALESCE

Last week we looked at how expressions are evaluated with the ISNULL and COALESCE functions. Whilst we’re in the area it’s worth running through how data types are selected for them too. It might have implications with how you implement them. The way these functions choose which data type to return differs, so they aren’t direct swap outs for each other, […]

Categories
SQL

Understanding Expression Evaluation with ISNULL and COALESCE

When eliminating NULL values with SQL Server queries we typically reach for ISNULL or COALESCE to do the job. Generally speaking they’ll provide equivalent results, but they work in different ways. If you’re dealing with logic more complex than ISNULL(ColA, ColB) – for example using a function or subquery as part of the expression – then you might be in for a surprise. […]