Additional Articles


External Article

Facts and Fallacies about First Normal Form

When discussing the normalisation process, it is always the First Normal Form that causes the most grief and confusion. Anith Sen takes up the challenge to explain, in simple terms, exactly what the First Normal Form really is, and why it is so important for Database Design. Along the way, he dispels some of the myths that have grown up around 1NF.

2009-06-09

5,827 reads

Technical Article

Basic Server Reporting Functionality in SQL Server 2005 Express Edition

In the recent installments of our series dedicated to the most prominent features of SQL Server 2005 Express Edition, we have started an overview of its reporting capabilities. This article focuses on elementary methods you can employ to generate custom reports.

You rated this post out of 5. Change rating

2009-06-08

2,954 reads

Technical Article

Calling a Web Service from within SQL Server

One of the problems you might run into when building applications that consume web services is how you can use web services data within a SQL Server instance. Greg Larsen discusses how to do this within a stored procedure that only runs within the context of SQL Server.

You rated this post out of 5. Change rating

2009-06-04

5,276 reads

Technical Article

Engine Separation of Duties for the Application Developer

Separation of duties is an important consideration for databases and database applications. By properly defining schemas and roles, you can create a distinction between users who can manipulate data from those that administer the database. This paper discusses the topics of which application developers should be aware and provides a heuristic example to guide you in achieving separation of duties.

2009-06-04

1,633 reads

Technical Article

DBA:M and the SQL Backup 6.0 pre-release

Rodney Landrum, DBA manager in Pensacola, Florida, puts the pain of DBA:M into context as we learn about how SQL Backup can evolve to keep pace. Take a look at the changes we’ve got planned to help time-pressed DBAs in the forthcoming pre-release of version 6.0, including a new compression level and network resilience.

(1)

You rated this post out of 5. Change rating

2009-06-02

2,217 reads

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