SQLServerCentral Article

Hacking the DTSX (SSIS XML file) to Change Defaults

Introduction According to Microsoft, DTSX is an XML-based file format that stores the instructions for the processing of a data flow from its points of origin to its points of destination, including transformations and optional processing steps between the origin and destination points. In a nutshell, when you are creating your SSIS package, the SQL […]

External Article

Checking for Missing Module References in a SQL Server Database Using Flyway

There are certain checks that need to be done after a database migration is complete. One good example of this is the check that a migration script, such as one that merges changes from a branch into main, doesn't cause 'invalid objects' (a.k.a. 'missing references') in your databases. I'll show you how to run this check, using sp_RefreshSQLModule, and incorporate it into a Flyway "after" migration script.

Blogs

In-Person CISA Training – April 13-16, 2026

By

I will be leading an in-person Certified Information Systems Auditor (CISA) exam prep class...

EightKB 2026

By

EightKB is back again for 2026! The biggest online SQL Server internals conference is...

The FinOps Lifecycle: From Budgeting to Reporting

By

Working in DevOps long enough teaches you two universal truths: That’s exactly why I...

Read the latest Blogs

Forums

VS Code, Unresolved References.

By mjdemaris

Hi all, I just started using VS Code to work with DB projects.  I...

Fun with JSON II

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Fun with JSON II

Changing Data Types

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Changing Data Types

Visit the forum

Question of the Day

Fun with JSON II

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 t1.[key] AS row,
       t2.*
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t1
    CROSS APPLY OPENJSON(t1.value) t2;

See possible answers