This article details the steps to automate the generation of Sql profiler traces in a Testing environment. The facility is useful when an application is User Acceptance Testing phase where a bunch of test users logon to the Testing site and use the application.
Part I of this series illustrated how to use simple case functions in queries. This installment discusses how to use case functions in different types of scenarios.
Learn about common data integrity issues, and see how Analysis Services 2005 gives you the tools to handle them.
Few would disagree that striving for a loosely coupled design is a bad thing. Unfortunately, the software we typically design is much more tightly coupled than we intend. How can you tell whether your design is tightly coupled?
Reporting Services is one of the most popular features of SQL Server 2005 and there have been a tremendous number of enhancements to this subsystem. New author Bilal Khawaja brings us a look at dynamic connection strings and how you can have one report pulling data from different servers.
SQL Server MVP Paul Ibison takes a look at how transactions are handled in replicated environments and the implications of rollbacks.
Blocking occurs in SQL Server 2005 when one process has one or more records locked, while another process tries to acquire locks on the same set (or subset) of records. This can create a daisy-chain of processes waiting to complete their work.
A look at how you can implement error handling in your stored procedures.
By Brian Kelley
I will be leading an in-person Certified Information Systems Auditor (CISA) exam prep class...
EightKB is back again for 2026! The biggest online SQL Server internals conference is...
By HeyMo0sh
Working in DevOps long enough teaches you two universal truths: That’s exactly why I...
Hi all, I just started using VS Code to work with DB projects. I...
Comments posted to this topic are about the item Fun with JSON II
Comments posted to this topic are about the item Changing Data Types
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