Jonathan Roberts


Technical Article

Comprehensive SQL Performance Monitoring and Optimisation Script

This script monitors and reports the execution statistics of SQL statements over a specified period, capturing metrics such as execution counts, CPU time, I/O operations, and elapsed time. It provides a comprehensive view of query performance, aiding in the diagnosis of performance issues and identifying problematic SQL queries in the database.

(1)

You rated this post out of 5. Change rating

2024-07-29 (first published: )

2,519 reads

Technical Article

User-Created GENERATE_SERIES() Function for Older SQL Server Versions

In the world of SQL Server, adaptation is key. While the built-in GENERATE_SERIES() function was a valuable addition in SQL Server 2022, its absence in older versions created a functionality gap. Enter the user-written GENERATE_SERIES function. Adapted from Jeff Moden's "dbo.fnTally", it offers an efficient means to generate a series of numbers within a defined range in older SQL Server versions. Its design mirrors the built-in function in SQL Server 2022, making the transition between versions as simple as removing the dbo. prefix. This forward-thinking design reflects the ingenuity of the SQL Server community, ensuring a seamless, efficient database migration experience.

You rated this post out of 5. Change rating

2023-06-26 (first published: )

2,883 reads

Technical Article

A DateRange Table Valued function

The function is an inline table-valued function (or sometimes called a parameterised view) so it can be used just like a view or a table but needs parameters. It generates a single-column table of datetime2 with rows differing by any multiple of any of the dateparts that SQL Server provides.

(6)

You rated this post out of 5. Change rating

2019-08-29 (first published: )

5,329 reads

Blogs

When Your Microsoft Fabric Capacity Runs Out: Optimize, Scale Up, Scale Out, or Isolate?

By

Microsoft Fabric makes it wonderfully easy to put many analytics workloads on one platform....

Accessing the Data API Builder MCP Server from VS Code

By

I recently started playing with the MCP Server for SQL Server, which is a...

From DBA or Data Engineer to AI Engineer: A Realistic Path

By

If you spend your days tuning queries, managing pipelines, or keeping a production database...

Read the latest Blogs

Forums

STRING_AGG DISTINCT

By Phil Parkin

Has anyone written a wrapper function (or similar) around STRING_AGG() to allow the retrieval...

In-place OS upgrade or migration to new OS?

By jasona.work

Putting this here as we're currently on SQL Server 2019 installed on Windows Server...

Never is Not the Policy

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Never is Not the Policy

Visit the forum

Question of the Day

Rebuilding All Indexes

I have added a few indexes to one of my tables in SQL Server 2025:

ALTER TABLE dbo.CustomerContact
ADD CONSTRAINT PK_CustomerContact
    PRIMARY KEY (CustomerID);

-- Create index on CustomerEmail
CREATE INDEX IX_CustomerContact_CustomerEmail
ON dbo.CustomerContact (CustomerEmail);
CREATE INDEX IX_CustomerContact_CustomerPhone
ON dbo.CustomerContact (phone);
I then do this to disable one index:
alter index IX_CustomerContact_CustomerPhone on dbo.CustomerContact disable
I see this when I check the index status:Index status for CustomerContactI decide to rebuild all indexes with this command:
ALTER INDEX ALL ON dbo.CustomerContact rebuild
After I do this, what will I see for the index status?

See possible answers