Sign in

Andy B

@andybrownsword.bsky.social
9 followers 11 following 191 posts

📝 andybrownsword.co.uk

PostsRepliesMedia
Andy B @andybrownsword.bsky.social · 6h
🥉 Bronze layer ingestion isn't just about getting data from A to B. Here's how four Fabric options stack up when landing the same file 👇 andybrownsword.co.uk/2026/09/29/c...
andybrownsword.co.uk
Comparing Bronze Ingestion Options in Microsoft Fabric
Compare Copy Activity, Copy Job, Notebook and Dataflow Gen2 for Bronze ingestion in Microsoft Fabric using the same large CSV source file.
000
Andy B @andybrownsword.bsky.social · 23/09/2026
🏅 Medallion architecture gives us Bronze, Silver and Gold. The tricky part is deciding what belongs in each layer. Here’s my practical take, including why the work in Silver matters so much 👇 andybrownsword.co.uk/2026/09/22/m...
andybrownsword.co.uk
Medallion Architecture: What Goes Where?
A practical look at what belongs in Bronze, Silver and Gold, from preserving source data to building reusable datasets and shared business metrics.
001
Andy B @andybrownsword.bsky.social · 16/09/2026
🔁 Reusing a Spark DataFrame doesn’t always mean reusing its results. Sometimes caching can help stop the same work being done twice 👇🏼 andybrownsword.co.uk/2026/09/15/m...
andybrownsword.co.uk
Materialising DataFrames in Spark with Caching
Learn how caching materialises Spark DataFrames to avoid repeating source scans, joins and calculations, and when the performance trade-off is worthwhile.
000
Andy B @andybrownsword.bsky.social · 08/09/2026
This month's #tsql2sday is looking at memorable outages 🚨 Here's how a lack of log backups changed my career direction 👇🏼 andybrownsword.co.uk/2026/09/08/t...
andybrownsword.co.uk
The SQL Server Outage That Turned Me into a DBA
Missing log backups, a full disk, and an unexpected opportunity. How fixing a SQL Server outage helped turn an app guy into a DBA.
001
Andy B @andybrownsword.bsky.social · 02/09/2026
🐍 After years of shaping data in SQL Server, PySpark looked like quite a jump. Turns out much of the thinking transfers surprisingly well. Here’s what stays familiar, and what really changes 👇 andybrownsword.co.uk/2026/09/01/t...
andybrownsword.co.uk
Thinking in SQL, Working in Spark
I’ve spent years shaping data with SQL Server, however after pulling at the threads of Fabric I’m opening notebooks and finding PySpark. At first glance the difference is stark, but it&…
000
Andy B @andybrownsword.bsky.social · 25/08/2026
🪡 Fabric's been gnawing at me for long enough - so I finally pulled some threads across the platform 👇🏼 andybrownsword.co.uk/2026/08/25/p...
andybrownsword.co.uk
Pulling at the Threads of Microsoft Fabric
I’ve had Fabric gnawing at me for too long. Whilst I’ve dabbled in a couple of areas, I haven’t taken the time to explore the breadth of what Microsoft’s flagship data platf…
000
Andy B @andybrownsword.bsky.social · 21/08/2026
USB-A: third time's the charm 😩
000
Andy B @andybrownsword.bsky.social · 18/08/2026
📅 Date logic in SQL Server can get messy fast. There are cleaner patterns for boundaries, buckets, and rebuilding dates 👇 andybrownsword.co.uk/2026/08/18/s...
andybrownsword.co.uk
Simpler Date Patterns in SQL Server
Date handling in SQL Server tends to accumulate tried and trusted combinations of DATEPART(), DATEADD(), and DATEDIFF() – with nested variations. The challenge with these isn’t raw perf…
000
Andy B @andybrownsword.bsky.social · 14/08/2026
Spent some time this week reflecting on the graft, gratitude and sacrifices of previous generations. I was left humbled by what they built with so little, and wondering what we lost with so much.
000
Andy B @andybrownsword.bsky.social · 11/08/2026
#tsql2sday asks us about Temp Tables. Friend or foe? 🤔 If you need a brew to tackle a query, you might want to give one a try ☕ andybrownsword.co.uk/2026/08/11/t...
andybrownsword.co.uk
T-SQL Tuesday #201 – Temp Tables, Friend or Foe?
For August’s T-SQL Tuesday ask, Jeff has thrown temp tables to the wolves. Does the community like or loathe their usage? I’ll predict a few ‘it depends’ resp…
011
Andy B @andybrownsword.bsky.social · 05/08/2026
🧩 Computed Columns are more versatile than they appear Centralise repeated logic, persist costly calculations, or index expressions for faster searching 👇🏼 andybrownsword.co.uk/2026/08/04/r...
andybrownsword.co.uk
Retrofitting Schemas with Computed Columns
Computed columns allow us to bake logic into our schema. I find particular use for these when reviewing or optimising established solutions where you spot the quirky ways the data is being used. He…
000
Andy B @andybrownsword.bsky.social · 02/08/2026
It's good to be back. It's been too long.
000
Andy B @andybrownsword.bsky.social · 30/07/2026
🧱 A canonical data model can simplify integrations Getting the organisation to agree on the model is the harder part 👇 andybrownsword.co.uk/2026/07/28/c...
andybrownsword.co.uk
Canonical Data Models Are a People Problem
Fragmented data estates usually share a trait – there’s no consistent representation of core business entities. It’s a common thread I’ve seen – system-centric entitie…
000
Andy B @andybrownsword.bsky.social · 27/07/2026
White, pink, red, purple, (dramatic pause)... brown(ish) 🤏🏻 Ah, the evolution of a British holiday tan 🇬🇧
000
Andy B @andybrownsword.bsky.social · 21/07/2026
⏱️ Waiting for Power BI refreshes? A simple Power Query parameter can dramatically reduce the amount of data you load during development 👇🏼 andybrownsword.co.uk/2026/07/21/d...
andybrownsword.co.uk
Develop Faster in Power BI by Filtering Your Data
When developing Power BI models, we don’t always want to refresh the entire dataset before we start working with the data. We can speed up the refresh – and therefore our deve…
120
Andy B @andybrownsword.bsky.social · 17/07/2026
🔍 Schema drift can hide in both your structure and data SSDT can help you compare environments consistently, identify differences that matter, and make those checks reusable 👇🏼 andybrownsword.co.uk/2026/07/14/u...
andybrownsword.co.uk
Using SSDT to Detect Schema and Data Drift
Schema drift is an inevitable part of environments where database changes are applied manually. Sometimes it’s dev-ing in production, other times it’s lax change control. Either way you…
000
Andy B @andybrownsword.bsky.social · 13/07/2026
🎓 Azure Data Fundamentals in the bag (more challenging than I expected!)
000
Andy B @andybrownsword.bsky.social · 07/07/2026
🎉 Here for the milestone edition of T-SQL Tuesday #200 🎉 “When I’m looking at a query, I bet it’s bad if I see ____" 🙄 Comma joins #tsql2sday 👇🏼 andybrownsword.co.uk/2026/07/07/t...
andybrownsword.co.uk
T-SQL Tuesday #200 – It’s Bad If I See…
For the bicentennial edition of T-SQL Tuesday, Brent has thrown down the topic of “When I’m looking at a query, I bet it’s bad if I see ____.”. I’m expecting the Brits out in forc…
000
Andy B @andybrownsword.bsky.social · 05/07/2026
I've been using the "left, right, left" method for years. Works every time 🚶🏼‍♂️ www.bbc.co.uk/news/article...
bbc.co.uk
How to walk 30 minutes a day - your tips
From walking the dog before breakfast to getting off the bus a stop early, readers share their tips for building a daily walking habit.
000
Andy B @andybrownsword.bsky.social · 30/06/2026
💡 Query Folding turns Power Query transformations into SQL, handing the performance reins back to database developers Here's how it works and why it matters 👇🏼 andybrownsword.co.uk/2026/06/30/q...
andybrownsword.co.uk
Query Folding in Power BI: Leveraging SQL Server Performance
As a database developer, when I started using Power BI, I was concerned about it retrieving reams of data only to perform transformations downstream. The Power Query editor misleads us into thinkin…
000
Andy B @andybrownsword.bsky.social · 23/06/2026
🖐🏼 SQL Server limits INSERT ... VALUES to 1000 rows You don't need to split your script into batches though - a small tweak is all it takes 👇 andybrownsword.co.uk/2026/06/23/a...
andybrownsword.co.uk
A Quick Solution for ‘INSERT statement exceeds the maximum allowed number of 1000 row values’
If you’re building a large INSERT statement using VALUES, you might find yourself hitting the limit of 1000 rows, for example: INSERT INTO #Numbers (Number, InWords) VALUES (1,…
000
Andy B @andybrownsword.bsky.social · 16/06/2026
SSMS 22.7 finally introduces T-SQL formatting 🧹 No more extensions needed, simply Ctrl + K, Ctrl + Q, and you're away 👇🏼 andybrownsword.co.uk/2026/06/16/f...
andybrownsword.co.uk
Formatting T-SQL in SSMS: It’s About Time
Dealing with endless formats for SQL scripts is a special type of pain you get to enjoy as a data developer. With the arrival of SSMS v22.7 last week, we have a solution in the form of a T-SQL form…
000
Andy B @andybrownsword.bsky.social · 09/06/2026
💭 This month's #tsql2sday considering the move back to on-prem. Should we sacrifice capability for control? andybrownsword.co.uk/2026/06/09/t...
andybrownsword.co.uk
T-SQL Tuesday #199 – Back to the Future IV: On-Premises
This month the invitation from Koen asks what would happen if we came back from the cloud. Back to On-Prem. Cloud solutions have sliders which magically reduce downtime, performance issues, and acc…
021
Andy B @andybrownsword.bsky.social · 07/06/2026
Long week. Busy weekend. It's 11pm. Jobs are done. I've got pizza 🍕 Time to catch up on the Xbox showcase and see what the teams have been cooking for its 25th anniversary 🎮
000
Andy B @andybrownsword.bsky.social · 03/06/2026
💡 KQL isn't SQL. But it isn't as different as people think either. Here's a first look from a SQL Developer's perspective 👇 andybrownsword.co.uk/2026/06/02/k...
andybrownsword.co.uk
KQL: A SQL Developer’s First Look
Someone drops a KQL query in your lap and says “you know SQL right?”. Honestly, it’s different enough to trip you up, but similar enough that you’ll pick it up quickly. In t…
000
Andy B @andybrownsword.bsky.social · 27/05/2026
Most useful AI use-cases aren't replacing people. They're removing friction: 🌼 Plant care 🔨 DIY 🍛 Meal ideas 💡 Faster thinking A few thoughts on the practical side of AI 👇 andybrownsword.co.uk/2026/05/26/e...
andybrownsword.co.uk
Everyone Should be Using AI
“AI will take our jobs” scares folks away. This past weekend I took a photo of a plant that’s in a bad way, and asked ChatGPT for support. I got a full rundown of positioning, car…
000
Andy B @andybrownsword.bsky.social · 19/05/2026
⚠️ Cross database queries confusing your Database Projects? ✅ Project, DACPAC, and Package References solve the problem Here's how 👇🏼 andybrownsword.co.uk/2026/05/19/s...
andybrownsword.co.uk
Solving Cross Database References in Database Projects
Large data solutions can span multiple databases. I’ve recently shared how amazing Database Projects can be but objects which reference across database boundaries can throw up warnings. Is th…
010
Andy B @andybrownsword.bsky.social · 17/05/2026
The rare and special feeling of dropping into a new Horizon game 🇯🇵 Currently showing potential to surpass my personal favourite in FH4 🇬🇧. Fun, gorgeous, and polished. Cracking time. It's a good weekend to game 🎮
100
Andy B @andybrownsword.bsky.social · 13/05/2026
"Added the column data type to the tooltip when hovering over a column in the results grid" Without length, scale, or precision, you're just teasing me 😏 learn.microsoft.com/en-us/ssms/r...
learn.microsoft.com
Release Notes for SQL Server Management Studio (SSMS)
Updates, improvements, and bug fixes for the current version of SQL Server Management Studio (SSMS).
000
Andy B @andybrownsword.bsky.social · 12/05/2026
💬 This month's #tsql2sday looking at Change Detection Figuring out the right time and approach to detection can save a lot of unnecessary work 👇🏼 andybrownsword.co.uk/2026/05/12/t...
andybrownsword.co.uk
T-SQL Tuesday #198 – Change Detection
Being a Data Engineer, this month’s invitation from Meagan resonates. She’s asked us to share a tip, technique, or lesson about detecting changes – which can be crucial to reduce …
010
Andy B @andybrownsword.bsky.social · 06/05/2026
Most database projects focus on schema deployment. The real magic? SQLCMD variables 🪄 One project, environment-specific configuration, and reusable publish profiles 👇🏼 andybrownsword.co.uk/2026/05/05/s...
andybrownsword.co.uk
Smarter Database Project Deployments with SQLCMD Variables
A regular Database Project deployment is static and delivers consistent results regardless of environment. When it comes to schema, that’s usually desired, but data is a different s…
000
Andy B @andybrownsword.bsky.social · 29/04/2026
Database Projects have landed in SSMS 🚀 …but they’re not complete (yet) Here's what you need to know 👇 andybrownsword.co.uk/2026/04/28/d...
andybrownsword.co.uk
Database Projects in SSMS Aren’t Quite There (Yet)
Last month in SSMS v22.4, we had the Database DevOps (preview) workload introduced which brings with it Database Projects. Last week I shared my favourite features for them which make deployments a…
000
Andy B @andybrownsword.bsky.social · 27/04/2026
Only in Britain 🇬🇧 "A ban to address a long-running issue of pony-and-trap racing on roads" www.bbc.co.uk/news/article...
bbc.co.uk
Pony and traps to be banned on two Buckinghamshire roads
Buckinghamshire Council says it is a
000
Andy B @andybrownsword.bsky.social · 22/04/2026
Still writing deployment scripts by hand? 🤔 💡 There's a better option (and it's been around for years...) Database Projects 👇🏼 andybrownsword.co.uk/2026/04/21/d...
andybrownsword.co.uk
Database Projects are Amazing for Deployments
If you’ve been using Database Projects for simply maintaining copies of your database objects – like I used to – then you’ve been missing out on the power of its deployments…
000
Andy B @andybrownsword.bsky.social · 15/04/2026
Failover groups replicate data... ...but logins are your issue 😬 Here's how to keep them in sync 👇🏼 andybrownsword.co.uk/2026/04/14/s...
andybrownsword.co.uk
Syncing Logins Across Managed Instance Failover Groups
Failover Groups for Managed Instances are a great option to replicate data, but they don’t replicate key instance elements – one of which is logins that live in the master database. If …
000
Andy B @andybrownsword.bsky.social · 08/04/2026
TOP (1) returning multiple rows? ✅ Cleaner syntax ⚠️ Worse plan 👇🏼 You'll be paying the syn-tax 💰 andybrownsword.co.uk/2026/04/07/w...
andybrownsword.co.uk
Why TOP (1) Can Return Multiple Rows (and Why That Matters)
Having TOP (1) return multiple rows feels wrong… but that’s what WITH TIES can do. For a long time I used patterns like this to get the first record in a group: WITH…
000
Andy B @andybrownsword.bsky.social · 01/04/2026
🤔 Do you actually know what's running on your SQL Server? Most environments are busier than they look. A quick dive into msdb surfaces the full picture - especially before a migration 👇🏼 andybrownsword.co.uk/2026/03/31/q...
andybrownsword.co.uk
Querying msdb: A Pre-Migration Audit for SQL Agent Jobs
Most SQL Server environments have more jobs, schedules, and hidden complexities than you realise. It’s only when you arrive at a migration and peek under the hood that the scale is clear. Her…
110
Andy B @andybrownsword.bsky.social · 25/03/2026
🤔 Can you search a billion row table efficiently without an index? 👇🏼 Yep - and it can be faster than using one 🔥 andybrownsword.co.uk/2026/03/24/b...
andybrownsword.co.uk
Blazing Fast (and Accurate) Searches Without an Index
Last week I demonstrated a fast binary search approach to quickly slice through large unindexed tables. I love the approach, but it fell short in two key areas – drop-in usage, and proper bou…
001
Andy B @andybrownsword.bsky.social · 18/03/2026
⚡ Faster than a scan 👀 Faster than an index (+ lookups) 🤯 No schema changes needed Binary search over correlated data massively reduces the work needed to query large tables 👇🏼 andybrownsword.co.uk/2026/03/17/b...
andybrownsword.co.uk
Blazing Fast Searches Without an Index
I know, clickbait right? Hear me out. Searching vast log or audit tables without indexes is painful. Narrowing down a specific time range often means scanning millions or billions of rows. But that…
000
Andy B @andybrownsword.bsky.social · 11/03/2026
Adaptive Cards provide a richer and more interactive experience for your notifications in Teams 👇🏻 andybrownsword.co.uk/2026/03/10/e...
andybrownsword.co.uk
Elevating Teams Notifications using Adaptive Cards
Last week we looked at utilising Teams to make notifications more collaborative. This week I want to show how we can add more visual and interactive elements by adopting Adaptive Cards. What are Ad…
000
Andy B @andybrownsword.bsky.social · 04/03/2026
Email alerts work... until they become noise 🙉 A simple Logic App brings pipeline notifications to Teams - with threads, replies, and tagging built in 👇🏻 andybrownsword.co.uk/2026/03/03/b...
andybrownsword.co.uk
Better Pipeline Notifications using Teams
Whether running Data Factory, Synapse, or Fabric pipelines, things go wrong – and the de facto response is to send an email. We’ve looked at sending emails from pipelines before, but at…
000
Andy B @andybrownsword.bsky.social · 25/02/2026
Simple, consistent, and effective failure tracking for SSIS using package-level Event Handlers 👇🏻 andybrownsword.co.uk/2026/02/24/s...
andybrownsword.co.uk
Simple, Consistent, and Effective Failure Tracking in SSIS
SSIS packages provide great flexibility for integration between systems, but when they go wrong you can end up digging through logs or reports because every package logs differently. A standarised …
000
Andy B @andybrownsword.bsky.social · 18/02/2026
🚀 Database Instructions have landed in SSMS 👶🏻 Today: Copilot gives better responses 👴🏻 Tomorrow: adoption could reshape how we collaborate around databases It's early days, but this could be the start of something bigger 👇🏻 andybrownsword.co.uk/2026/02/17/m...
andybrownsword.co.uk
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 …
000
Andy B @andybrownsword.bsky.social · 10/02/2026
This month's #tsql2sday looking at how code ages badly when it's not designed to fail 🧨 andybrownsword.co.uk/2026/02/10/t...
andybrownsword.co.uk
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 wee…
000
Andy B @andybrownsword.bsky.social · 29/01/2026
Power BI / Fabric / SSRS 📊 Header rows in paginated reports work well - until they don't. Here's how to fix their behaviour 👇🏻 andybrownsword.co.uk/2026/01/27/i...
andybrownsword.co.uk
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 Repo…
010
Andy B @andybrownsword.bsky.social · 25/01/2026
Week in Finland wrapped up 🇫🇮 Fortunate to venture out for numerous activities. Skiing was a standout with views like this 👇🏻 The unexpected highlight was ice karting - full on Tokyo Drift ❄️
000
Andy B @andybrownsword.bsky.social · 20/01/2026
This month's #tsql2sday focuses on learning from mistakes: Letting order become logic leads to fragile systems ⛓️‍💥 andybrownsword.co.uk/2026/01/20/t...
andybrownsword.co.uk
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 less…
000
Andy B @andybrownsword.bsky.social · 14/01/2026
📊 Power BI and Fabric workspaces are built for authors. Apps give consumers a better experience: andybrownsword.co.uk/2026/01/13/e...
andybrownsword.co.uk
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, an…
010
Andy B @andybrownsword.bsky.social · 04/01/2026
How've the last couple of weeks been? Satisfactory (the game 🎮) Exploring, planning, and optimising ⚒️... apparently efficient factories and pipelines are my thing 😉
010
Andy B @andybrownsword.bsky.social · 30/12/2025
What doesn't go bump in the night? The Halloween problem - because SQL Server solves it for you 🎃 andybrownsword.co.uk/2025/12/30/t...
andybrownsword.co.uk
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: Hal…
000