SQLServerCentral Article

Importing The Latest File In A Folder Via DTS

Using the Dynamic Properties Task in SQL Server 2000 DTS is a great way to build a flexible package that can handle a variety of situations. Things are much improved in SQL Server 2005 Integration Services, but many of you will need to solve a common problem until you can upgrade. New author David Jackson brings us a technique for finding and processing the latest file in a folder.

Technical Article

Deliver User-Friendly Reports from Your Application with SQL Server Re

Flexible reporting capabilities are a requirement for most business applications and their integration into Web apps makes them more versatile than ever. With the recent release of SQL Server™ 2000 Reporting Services, you can easily add reporting from diverse data sources. In this article I will introduce report authoring using Visual Studio® and Reporting Services and demonstrate how to integrate reports into your Web applications.

Reporting Services is a server-based reporting platform that is built on the .NET Framework and integrated with SQL Server 2000, so you can integrate rich reporting features into your apps using an extensive Web services-based API. Although the report server uses SQL Server as the repository for reports, any data source with an OLE DB, ODBC, or ADO.NET provider can be used to supply data to the reports, making Reporting Services a great choice for reporting in diverse enterprise environments.

SQLServerCentral Article

SQL Server Scripting and WMI

Ever been paged while out with your family for some SQL Server problem that had you cutting an evening short? New author Anthony Loera has and he brings us some scripts that he uses to handle some of those crisis from any email device, PDA, phone, and keep him in front of his kids on the weekends.

Technical Article

Step-by-Step Guide: How to patch SQL Server

ADVERTISEMENT

So you've decided to secure your SQL Server infrastructure and you don't know where to start. This first guide in a two-part series on SQL Server patch deployment will help you track down those pesky servers before getting them properly patched.

SQL Servers represent a significant security challenge for a number of reasons. Primarily, they are ubiquitous. Hundreds of software packages use SQL Server as a data store as do a large number of commercial websites.

SQLServerCentral Article

More Portable DTS Packages

There have been a few articles over time on how you can build DTS packages in SQL Server 2000 that are easily moved from one server to another. New author Tito David brings us another technique that not only migrates packages easily between servers, but between your development and production environments.

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