Categories
SQL

Solving Performance Papercuts with Covering Indexes

When looking to increase performance for a database it can be the smaller and faster queries which can be improved easier and more effectively than their slower counterparts. We can be drawn to tuning long running and complex queries, but these can be a challenge due to their size and complexity. Sometimes though we can reclaim just […]

Categories
Misc

Reverting the Windows 11 Context Menu

Having persisted with Windows 11’s context menu for long enough, it’s time to concede. I find it too restrictive and slows down the muscle memory. If you yearn for that touch of Windows 10 back in your life, read on. Reverting from the new style context menu should look something like this: But it isn’t. […]

Categories
Power BI

Fixing and Customising Parameter Display in Power BI Paginated Reports

Parameters in Paginated reports allow for us to tailor report contents based on user selected criteria. These were inherited from Reporting Services as a precursor to the slicers and filters in Power BI reports. Coming from a Reporting Services background I have a soft spot for pre-defined paginated reports. However these parameters can sometimes get […]

Categories
SQL

Resulting Data Types from Union Operations

The UNION and UNION ALL operators allow us to combine results, but there’s no guarantee that each set of results uses the same data types. So what data types are returned? For the longest time I thought the data types from the first set of results were used for the final results. That’s not the case. Understanding how this […]

Categories
SQL Server

Fixing Orphaned Database Users

When restoring a database in different environments we may stumble across orphan users. This typically manifests through failed connections to the database. Here we’ll have a quick look at what the issue is and 3 ways to fix it. What are orphaned users When users are created in a database they’re mapped to the login […]

Categories
SQL

Cleaning Up Window Functions in SQL Server 2022

Window functions allow us to perform a function across a set of rows in a result set, rather than how we might typically group them. In SQL Server 2022 we have a new clause available for our queries which can help tidy up how these are defined. We’ll use the sample table from the introduction to […]

Categories
SSIS

Solving Sort Transformation Blocking in SSIS

Last time out we discussed blocking transformations, what they are, the impact of them, and touched on how to deal with them. In this post we’re going a step further to tackle one of them head on. Here we’ll demonstrate the impact of blocking caused by the Sort transformation, and look at two options for solving […]

Categories
SSIS

Beware Blocking Transformations in SSIS Data Flows

We have a platter of transformations to use when constructing data flows in SSIS packages. Not all transformations are equal though, and some can catch us out with performance impact as data volumes scale. In this post we’ll look at blocking transformations which can trip us up if we’re not careful with them (or avoid […]

Categories
SSIS

Elevating SSIS Package Configuration with Environment Variables

Package configuration allows us to retrieve variable values from a variety of sources. We recently looked at storing the values in a SQL database. We can elevate the database configuration a step further by using system level Environment Variables. In this post we’ll walk through that process. Using environment variables Where we previously looked at storing […]

Categories
SSIS

Handling Optional Carriage Returns in Flat Files

When ingesting files in SSIS via Flat File Connections, a consistent format is key. Sometimes that isn’t the case. Here we’ll look at an example where the carriage return (CR, \r) may or may not be included in the file. The problem A file format can change as easy as tweaking the file in an editor […]