The Bit Bucket

Fix: Getting R and Python to actually work on SQL Server 2025

Fix: Getting R and Python to actually work on SQL Server 2025

This is an update of a post that I wrote for SQL Server 2022 . Unfortunately, those instructions needed to be updated for SQL Server 2025. Thanks to Peter Bishop for reporting what was now missing.

R and Python in SQL Server

One of my more surprisingly popular blog posts in the past talked about Machine Learning: Testing your installation of R and Python in SQL Server 2017. The problem is that SQL Server 2022 changed things, and SQL Server 2025 also had a further issue with the Python distribution.

2025-12-01

Book Review: You Don't Have to Have a Dream

Book Review: You Don't Have to Have a Dream

I recently listened (via Audible) to You Don’t Have to Have a Dream by Tim Minchin. I’m an unashamed fan of Tim’s and I was really pleased to see that he had published new content. Once again, a bonus was that Tim also narrated it. (I prefer books where the author reads it, not a hired voice actor).

Content

I was seriously surprised by how short this book was. I’m not sure how that made me feel: probably that I was hoping for more. This book is basically Tim repeating three graduation speeches that he’s given over the years, interspersed with some commentary about them. Generally, Tim tends to write fictional books.

2025-11-30

SQL Interview: 92 SELECT without specified order

SQL Interview: 92 SELECT without specified order

This is a post in the SQL Interview series. These aren’t trick or gotcha questions, they’re just questions designed to scope out a candidate’s knowledge around SQL Server and Azure SQL Database.

Section: Development Level: Intro

Question:

You issue the following query against the dbo.Customers table:

SELECT * FROM dbo.Customers;

The table has a clustered index on the CustomerID column.

When you have not specified an ORDER BY clause, which order will the rows be returned in?

2025-11-29

Book Review: How not to Become a Grumpy Old Bugger

Book Review: How not to Become a Grumpy Old Bugger

I recently listened (via Audible) to How not to Become a Grumpy Old Bugger: A Bloke’s Guide to Living a Better Life by Geoff Hutchison. It was only a few hours long, and the title sounded a little amusing, so I decided to listen to it. A bonus was that the author was the narrator. (I prefer books where the author reads it, not a hired voice actor).

Content

I was surprised by how broad the list of topics covered in the book was. Geoff covers the obvious topics like what on earth it means to be happy, but he also dives into darker areas with, for example, a chapter on death.

2025-11-28

SSMS Tips and Tricks 7-17: Git integration

SSMS Tips and Tricks 7-17: Git integration

Early versions of SSMS included the ability to work with source control systems. The way that worked was that SSMS implemented an SCCI (Source Code Control Interface). It would let you connect to any source control system that implemented that interface.

For a while, SSMS lost any ability to talk to source control. I thought that was a pity as I make extensive use of projects within SSMS and source control is where I want them stored.

2025-11-27

SQL: ANSI string concatenation with the || and ||= operators

SQL: ANSI string concatenation with the || and ||= operators

One change that was applied to Azure SQL Database a while back, and is coming in SQL Server 2025, is the use of ANSI string concatenation operators.

SQL Server has been using the + sign as a string concatenation operator since the early days, but that’s the same operator that’s used for numbers, and it’s not the ANSI standard. You’ll find that other database engines like PostgreSQL do not use + to join strings together; they use the || operator. I’ve been writing quite a lot of PostgreSQL lately, and avoiding using + to concatenate strings is always a challenge for my coding muscle memory.

2025-11-26

SQL Interview: 91 Table variables and memory

SQL Interview: 91 Table variables and memory

This is a post in the SQL Interview series. These aren’t trick or gotcha questions, they’re just questions designed to scope out a candidate’s knowledge around SQL Server and Azure SQL Database.

Section: Administration Level: Medium

Question:

A developer in your team has observed that your database servers are very I/O bound. He thinks the I/O is simply too slow.

What he’s suggesting is that you replace all use of temporary tables with table variables. His argument is that they are memory-based instead of disk-based and that this should help to reduce the I/O load. Your applications make heavy use of temporary tables, and most have large numbers of rows.

2025-11-25

Book Review: Simply Said

Book Review: Simply Said

I recently listened (via Audible) to Simply Said: Communicating Better at Work and Beyond by Jay Sullivan. I was going to read it, but I figured, given the topic of the book, it would be good to hear the author read through it. (I prefer books where the author reads it, not a hired voice actor).

Content

I was surprised by the content. I really expected it to be a book that predominantly covered topics on speaking clearly and well, but it tackles far more than that. It’s about many different forms of communication.

2025-11-24

Book Review: SQL for Data Analytics

Book Review: SQL for Data Analytics

I recently received a review copy of SQL for Data Analytics: Analyze data effectively, uncover insights and master advanced SQL for real-world applications by Jun Shan, Haibin Li, Matt Goldwasser, Upom Malik, Benjamin Johnston from my friends at PackT. It is the fourth edition of this book.

Authors

Jun Shan is a principal cloud solution advisor.
Haibin Li is a lead predictive modeler. He was a technical reviewer for the third edition of this book.
Matt Goldwasser is Vice President and head of AI and Data Science for Global Distribution at T.Rowe Price.
Upom Malik is a data science and analytics leader.
Benjamin Johnston is a senior data scientist for a leading data-driven MedTech company.

2025-11-23

Echoes from the field 9: Encryption in SQL Server (Part 2)

Echoes from the field 9: Encryption in SQL Server (Part 2)

During a recent consulting engagement, I was asked about how to use column-based encryption in SQL Server. In this article, which is the second part of a two-part series, let’s explore how to get started using column-based encryption.

In the previous post , I provided background information about encryption and certificates.

If you’re not very familiar with these technologies, you should read that previous post before this one.

Encryption Technologies in SQL Server

Way back in SQL Server 2005, Microsoft introduced an amazing array of technologies. I suspect that many SQL Server professionals aren’t aware of just how many technologies were introduced in that release. It’s not surprising that professionals are still learning about a number of these technologies, even 20 years later. In particular, questions regarding certificates, keys, and column-based encryption still draw blank responses from most SQL Server professionals.

2025-11-22