Categories
SSRS

Review Security Drift in Reporting Services

Reporting Services deployments aren’t exactly the latest fashion, so any you stumble upon are probably a little dated and in need of TLC. One place to review would be the security. Security in SSRS comes in two flavours: Item level roles are what we’re digging into here. Before we start, it’s worth defining a simple […]

Categories
Azure

File Operations in SharePoint Using Logic Apps and App Registration

The standard SharePoint connectors in Logic Apps authenticate with Entra accounts. When you want to use an App Registration instead, it’s a little trickier. In this post, we’ll show how to interface with the SharePoint REST API using an App Registration authenticated with a certificate securely stored in a Key Vault. Configure app registration First […]

Categories
SQL

Why Do We Still Use RAISERROR?

I don’t use RAISERROR often – I usually forget which severity code to use. After looking at a sprinkling of them recently I decided it was time for a refresher, so come along for the ride. If you check out the online documentation it states that “New applications should use THROW instead”. It also sounds like its used to raise […]

Categories
SQL

How Many Rows Are In That Table?

A question I ask myself often when exploring unfamiliar data sets. So here’s a quickie: If you’re in need of a quick measuring stick, this should do the job. Microsoft does note that the row_count field is an approximate value in this DMV. It’s taken from the internal table PARTITIONCOUNTS which can be cached, but […]

Categories
T-SQL Tuesday

T-SQL Tuesday #190 – Mastering Skills

This month’s T-SQL Tuesday invitation from Todd asks us to consider mastery of skills. Learning is a continual cycle, a part of our everyday – be it on a personal or professional journey. Mastering is more than simply learning though. Todd hits on key terms in his invitation – commitment, planning, deliberate practice, consistency. Ticking those boxes […]

Categories
SQL

Batching Large Data Changes Using Key Ranges

Handling data modifications to large tables can be tricky. We can end up with long running queries and large transactions. Efficiently handling them comes from batching. Effective batching in general helps us by: In this post we’ll take a look at a key-range approach to solve the issue. With this solution a batch will be […]

Categories
SQL Server

Discovering More About Join Operator Internals

In the previous post I explained Join Operators in SQL Server. Whilst compiling that I dug a little deeper and came across a few interesting points I thought were worth sharing. Let’s look at behaviour of the operators which may occur under specific conditions. Hopefully you find them as interesting as I did: Optimised nested loop […]

Categories
SQL Server

SQL Server Join Operators Explained

When reviewing our execution plans we’ll see joins executed using different operators. The type of operator is chosen based on the data that’s available to join and how the optimiser wants to execute it. In this post we’ll take a look at what the operators are, when they are used, and how they work. These […]

Categories
T-SQL Tuesday

T-SQL Tuesday #189 – Me, Myself, and AI

This month’s T-SQL Tuesday is being hosted by Taiob and he’s posed a great point to consider: How is AI changing our careers? Oh boy, this could be a divisive topic with plenty of opinions – I’m seeing submissions roll in as I’m finalising this and I’m very much looking forward to the community’s views on the topic. […]

Categories
SSIS

Solving Bottlenecks in SSIS Packages

Last time out we started to look at optimising SSIS packages by showing how to identify bottlenecks with a handy script. This time we’re turning insights into action to solve those pain points. The solutions are grouped into 3 areas: Data Flows, as they do a lot of heavy lifting; the Execute SQL task, which can […]