Using the FP-Growth Algorithm to Mine Useful Patterns in Data
This article looks at using the FP-Growth algorithm from Python to mine data in SQL Server.
2025-09-08
2,763 reads
This article looks at using the FP-Growth algorithm from Python to mine data in SQL Server.
2025-09-08
2,763 reads
Introduced in SQL Server 2025 CTP 1.3, the PRODUCT() function acts similarly to SUM(), but multiplies values rather than adds them. It is an aggregate function in SQL Server and therefore operates on a data set, rather than on scalar values.
2025-09-08
This article shows how you can easily create connections in your Power BI workspace that use Identity Authentication to connect to your data.
2025-09-05
3,906 reads
The advantage of using triggers is that the same processing can occur regardless of where or how the data has been inserted, updated or deleted. In this article, we look at several examples of where and why triggers could be useful along with an example use case.
2025-09-05
In this article, we’ll revisit the dimension models we created. We wrote the entire SQL statement for the dimension by hand, and the dimensions themselves were very rudimentary; they lacked a surrogate key and there were no audit columns (such as insert date and update date). We’ll show you how we can expand the dimensions using Jinja, but also how we can minimize development effort by baking reusable patterns into the Jinja code.
2025-09-03
Page splits are an often-overlooked performance killer in SQL Server. In this article, we take a forensic look at how serial inserts differ from mid-table inserts, revealing why inserting rows out of order causes hidden page splits, increased IO, and fragmentation. Using a wide-column table, we demonstrate both scenarios and decode their impact with page-level analysis.
2025-09-02 (first published: 2025-08-05)
2,548 reads
2025-09-02 (first published: 2025-08-04)
620 reads
TEXT, NTEXT, and IMAGE columns have been deprecated for nearly two decades, yet they still silently haunt many SQL Server environments. This article explains their hidden limitations with practical demos and shows why migrating to VARCHAR(MAX), NVARCHAR(MAX), and VARBINARY(MAX) is critical for modern performance, maintainability, and future upgrades.
2025-09-02 (first published: 2025-08-06)
2,583 reads
When you run a CI/CD pipeline, you often need confidential values like passwords, authentication tokens, service principal secrets etc. when you want to deploy a certain artefact. You don’t want to store those secrets directly in your pipelines as this might pose a considerable security leak. Instead, you either store them as secret variables, or […]
2025-09-02 (first published: 2025-08-04)
1,291 reads
Introduction ChatGPT includes custom GPTs. You can create your own custom GPT. In this article, we will demonstrate how to create a custom GPT expert in SQL Server. Requirements To create your own GPT, you need to use the paid version of ChatGPT. First, go to ChatGPT. Secondly, if you don’t have the paid version, […]
2025-09-02 (first published: 2025-08-11)
4,760 reads
By Steve Jones
AI is everywhere. It’s in the news, it’s being added to every product, management...
By Vinay Thakur
RAG — Retrieval Augmented Generation. we have covered so far — embeddings, vectors, vector...
By Vinay Thakur
Continuing from Day 6 we learned Embeddings, Semantic Search and Checks, on Day 7...
I've written some documentation on using different Markdown types of files on GitHub. It's...
Comments posted to this topic are about the item Not Just an Upgrade
Comments posted to this topic are about the item Restoring On Top I
I am doing development work on a database and want to keep a backup so I can reset my database. I make some changes and want to restore over top of my changes. When I run this code, what happens?
USE Master BACKUP DATABASE DNRTest TO DISK = 'dnrtest.bak' GO USE DNRTest GO CREATE TABLE MyTest(myid INT) GO USE master RESTORE DATABASE DNRTest FROM DISK = 'dnrtest.bak' WITH REPLACESee possible answers