SQLServerCentral Article

How to Search for Date and Time Values

Because of the way date and time values are stored in SQL Server, searching for a particular date or time is not as straightforward as you might think it would be. This article describes how date/time values are stored, how the database design can simplify (or complicate) data retrieval, and how to query date/time data to get the right results every time.

Technical Article

Auditing Your SQL Server Environment Part I

This article is the first of a series that I plan on writing and placing on my website to help other DBAs in auditing a new SQL Server environment. This article deals with determing which SQL Server logins have weak passwords, with the definition of weak being, no password, password the same as the login name or having a password of only one character.The stored procedure used for this article is embedded in the article and it has been submitted as a independent script named spAuditPasswords.

SQLServerCentral Article

Who Needs Change Management?

You have spent thousands of dollars on that cool technology; clustering, redundant controllers, redundant disks, redundant power supplies, redundant NIC cards, multiple network drops, fancy tape backup devices and the latest and greatest tape technology. You are all set. There is no way your going to have downtime. Right?

SQLServerCentral Article

Another Disaster (Almost)

Andy had a semi-disaster similar to the one he wrote about last year. Interesting to see the kinds of problems that happen to other people. This article raises some interesting points that are outside the scope of basic disaster recovery, looking at how/when to move databases to a different server and how to reduce the server load dynamically.

SQLServerCentral Article

A Normalization Primer

For most DBAs, normalization is an understood concept, a bread and butter bit of knowledge. However, it is not at all unusual to review a database design by a development group for an OLTP (OnLine Transaction Processing) environment and find that the schema chosen is anything but properly normalized. This article by Brian Kelley will give you the core knowledge to data model.

SQLServerCentral Article

Case Study: Importing New Data Without Emptying Existing Tables

The challenge for Robert Marda was to devise a way to keep the data available at all times while importing the new data, detect if a full or daily update was received and run appropriate data pumps, put in sufficient fail safes to ensure bad data would not get imported, and to make the process automatic including notification to pagers upon failure. Robert shows you how he did it here.

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