hellosqlkitty

Josephine Bush is a Data Platform MVP and has over 10 years of experience as a Database Administrator. Her experience is extensive and broad-based, including in financial, business, and energy data sectors using SQL Server, MySQL, Oracle, and PostgreSQL along with Azure and AWS. She is a Microsoft Certified Solutions Expert: Data Management and Analytics. She holds a BS in Information Technology, an MBA in IT Management, and an MS in Data Analytics. She presents at SQL conferences and user groups around the world. She is the leader of the Boulder SQL user group. She blogs on sqlkitty.com and you can reach her on Twitter @hellosqlkitty.

Blog Post

Terraform Commands

I realized I never created a post to show how to deploy Terraform from VS Code. I haven’t done that in a while because I don’t do it at...

2025-08-13

54 reads

Blog Post

Query multiple Azure SQL Databases

I was sick of changing context in Azure Data Studio while cleaning up things discovered in our vulnerability assessments. Changing things via PowerShell I wanted to be cautious with...

2025-06-04 (first published: )

421 reads

Blog Post

Azure Vulnerability Assessments

Regarding managing databases in the cloud, security should never be an afterthought. That’s where Azure Vulnerability Assessments, officially named Microsoft Defender, come in—they help you spot weak spots in...

2025-05-26 (first published: )

433 reads

Blog Post

Using Cron in Postgres Flex

pg_cron is a simple cron-based job scheduler for PostgreSQL that runs inside the database as an extension. It allows you to schedule PostgreSQL commands directly from your database, similar...

2025-05-19 (first published: )

386 reads

Blog Post

Why use XACT_ABORT?

This came up one day at my work when a developer was using it. I hadn’t used it before and thought I’d better check it out. It’s off by...

2025-04-28 (first published: )

952 reads

Blog Post

Using SQLFluff

I thought I didn’t care about linting, and lately, I haven’t written a lot of SQL, but for the SQL I do write, I have SQLFluff to help me...

2025-03-18

268 reads

Blog Post

Drop roles in Postgres

You can’t just exec DROP ROLE your_role_name; if it’s granted perms or other roles are granted to it. I had to go fishing to find all the grants to...

2025-02-12 (first published: )

227 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