Downtime Caused by the Postgres Transaction ID Wraparound Problem
Learn about transaction ID wraparound in PostgreSQL, which caused a problem for the author.
2026-02-23 (first published: 2026-02-13)
1,814 reads
Learn about transaction ID wraparound in PostgreSQL, which caused a problem for the author.
2026-02-23 (first published: 2026-02-13)
1,814 reads
Learn about filtered indexes in SQL Server, how they work, and how they can help improve performance.
2025-11-24
4,138 reads
Learn about unlogged tables and how they work in PostgreSQL.
2025-11-21
4,858 reads
Learn about a MySQL feature that could be useful in some scenarios for SQL Server.
2025-11-10
4,261 reads
Learn about implicit transaction and why you might not want to enable this setting.
2025-10-24
6,514 reads
Learn how a setting an improve high concurrency inserts with the OPTIMIZE_FOR_SEQUENTIAL_KEY option.
2025-10-01
6,171 reads
Learn how a trace flag affects SQL Server reading from disk and where this might be a useful thing for you to enable.
2025-09-24
2,472 reads
A look at window functions in SQL and how they can be used to query data without the restrictions of a GROUP BY.
2025-09-12
6,901 reads
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.
2025-09-02 (first published: 2025-08-05)
2,553 reads
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.
2025-09-02 (first published: 2025-08-06)
2,616 reads
By HeyMo0sh
As someone who works in DevOps, I’m always focused on creating systems that are...
By Brian Kelley
I am guilty as charged. The quote was in reference to how people argue...
By Steve Jones
Learn how to tie a bowline knot. Practice in the dark. With one hand....
Comments posted to this topic are about the item Restoring On Top II
Comments posted to this topic are about the item SQL Art 2: St Patrick’s...
Comments posted to this topic are about the item Breaking Down Your Work
I have a database, DNRTest, that has a number of tables and other objects in it. The other day, I was trying to mock up a test and ran this code on the same server:
-- run yesterday CREATE DATABASE DNRTest2 GO USE DNRTest2 GO CREATE TABLE NewTable (id INT) GOToday, I realize that I need a copy of DNRTest for another mockup, and I run this:
-- run today USE Master BACKUP DATABASE DNRTest TO DISK = 'dnrtest.bak' GO RESTORE DATABASE DNRTest2 FROM DISK = 'dnrtest.bak' WITH REPLACEWhat happens? See possible answers