Zikato


Blog Post

Inspecting TSQL Abstract Syntax Trees

TSQL ScriptDOM is a useful library for parsing scripts into an abstract syntax tree. I've built a web tool that helps visualize this tree as a learning exercise.
Foreword
I've leveraged...

2025-12-03 (first published: )

112 reads

Blog Post

KDA: Echoes of Deception - Case 3

The crime spree in Digitown is not ending. This time 20 cars have been stolen and we need to find where they’re stored.
The problem
This is the abridged case description....

2025-06-09 (first published: )

278 reads

Blog Post

KDA: Echoes of Deception - Case 2

The people of Digitown are being targeted by phishermen, and they need my help to stop them in their tracks.
The problem

The police have asked for our assistance, and we’ve...

2025-06-02 (first published: )

198 reads

Blog Post

KDA: Echoes of Deception - Case 1

Another KDA case: Digitown’s utility bills suddenly doubled for no good reason. With the election coming up, I got pulled in to figure out what went wrong. I’ve got...

2025-05-30 (first published: )

202 reads

Blog Post

Kusto Detective Agency - Intro

While I mostly write about SQL Server, I have a soft spot for Kusto. In this series, I will explore solutions to fun challenges collectively known as the Kusto...

2025-04-27 (first published: )

110 reads

Blog Post

Deploy at Low Priority

Learn how to deploy schema changes in an always-online SQL Server environment without a maintenance window. This utility reduces blocking and improves deployment success.
The problem
I attempted to deploy a...

2025-03-19 (first published: )

202 reads

Blog Post

Finding nested references

I originally planned this post just as an answer to DBA Stack Overflow question: How can I get the list of tables in all the stored procedure? After preparing...

2024-09-13 (first published: )

267 reads

Blogs

AI: Blog a Day – Day 5: Notebooks, Hugging face models and Fine Tuning

By

Continuing from Day 4 where we learned Encoder, Decoder, and Attention Mechanism, today we...

AI: Blog a Day – Day 4: Transformers – Encoder, Decoder, and Attention

By

Continuing from Day 3 where we covered LLM models open/closed and their parameters, Today...

Flyway Tips: Multiple Projects

By

One of the nice things about Flyway Desktop is that it helps you manage...

Read the latest Blogs

Forums

Can an Azure App Service Managed Identity be used for SQL Login?

By jasona.work

I'm fairly certain I know the answer to this from digging into it yesterday,...

Azure Synapse database refresh

By Sreevathsa Mandli

Hi Team, I am trying to refresh the Azure Synapse Dedicated pool from production...

how to write this query?

By water490

hi everyone I am not sure how to write the query that will produce...

Visit the forum

Question of the Day

Fun with JSON I

I have some data in a table:

CREATE TABLE #test_data
(
    id INT PRIMARY KEY,
    name VARCHAR(100),
    birth_date DATE
);

-- Step 2: Insert rows  
INSERT INTO #test_data
VALUES
(1, 'Olivia', '2025-01-05'),
(2, 'Emma', '2025-03-02'),
(3, 'Liam', '2025-11-15'),
(4, 'Noah', '2025-12-22');
If I run this query, how many rows are returned?
SELECT *
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t;

See possible answers