SQLServerCentral Article

Advanced SQL Server Page Forensics: Detecting Page Splits and Allocations with DBCC PAGE

Page splits are an often-overlooked performance killer in SQL Server. In this article, we take a forensic look at how serial inserts differ from mid-table inserts, revealing why inserting rows out of order causes hidden page splits, increased IO, and fragmentation. Using a wide-column table, we demonstrate both scenarios and decode their impact with page-level analysis.

(1)

You rated this post out of 5. Change rating

2025-09-02 (first published: )

2,798 reads

SQLServerCentral Article

Deprecated but Forgotten: Why SQL Server’s Text, NText, and Image Data Types Still Haunt Your Systems

TEXT, NTEXT, and IMAGE columns have been deprecated for nearly two decades, yet they still silently haunt many SQL Server environments. This article explains their hidden limitations with practical demos and shows why migrating to VARCHAR(MAX), NVARCHAR(MAX), and VARBINARY(MAX) is critical for modern performance, maintainability, and future upgrades.

(4)

You rated this post out of 5. Change rating

2025-09-02 (first published: )

3,546 reads

Blogs

T-SQL Tuesday #202: The Two Outages I Won't Ever Forget

By

My T-SQL Tuesday #202 entry for Marlon Ribunal's invitation on memorable SQL Server outages....

Measuring RAG Solutions: Are We Retrieving the Right Information?

By

A RAG pipeline that answers questions in the demo is not the same thing...

Advice I Like: Lots of Ideas

By

“A multitude of bad ideas is necessary for one good idea” – from Excellent...

Read the latest Blogs

Forums

Adding new column with DEFAULT

By Thomas Franz

Comments posted to this topic are about the item Adding new column with DEFAULT

How do I connect to a SQL Server database on my ISP?

By Doctor Who 2

I've got a web application for my side business. I've added a SQL Server...

Looking for New Blood

By Grant Fritchey

Comments posted to this topic are about the item Looking for New Blood

Visit the forum

Question of the Day

Adding new column with DEFAULT

Which number will the COUNT() return after executing the following statements:

DROP TABLE IF EXISTS #test;
CREATE TABLE #test (id INT)
INSERT INTO #test (id)
SELECT *
  FROM GENERATE_SERIES(1, 3) AS gs
;

ALTER TABLE #test ADD flag BIT CONSTRAINT DF_#test_flag DEFAULT 0;
go
UPDATE #test SET flag = 0 WHERE id = 1
UPDATE #test SET flag = 1 WHERE id = 2

INSERT INTO #test (id) VALUES (4)

SELECT COUNT(*)
  FROM #test AS t
 WHERE flag = 0
 

See possible answers