T-SQL

External Article

Purging Data from a Large Table in SQL Server

  • Article

Purging data from a table is a common database maintenance task to prevent it from growing too large or to stay in compliance with data retention. When dealing with small amounts of data, this can be accomplished by a simple delete with no issues; however, with larger tables, this task can be problematic. Deleting records requires a lock that can block other processes from writing or even reading the data (depending on your isolation level). In this article I will share a technique I have used to work with some very large tables.

2025-06-04

Blogs

Setting Up a Mac for Data Engineering and AI Work

By

If you work with data pipelines, SQL, notebooks, or machine learning models, a Mac...

Want to look at cloud reporting but not sure what the costs will be?

By

Have you been thinking about migrating your reporting to Microsoft Fabric or Snowflake but...

The Joyful Craftsmen and the Revolt BI join forces

By

The Joyful Craftsmen has become the new owner of Revolt BI. The merger creates...

Read the latest Blogs

Forums

SQL Art, Part 4: Happy 4th of July — A British DBA's Guide to Celebrating a War We Don't Talk About

By Terry Jago

Comments posted to this topic are about the item SQL Art, Part 4: Happy...

Concurrency and Baseline Control: Level 5 of the Stairway to Reliable Database Deployments

By Massimo Preitano

Comments posted to this topic are about the item Concurrency and Baseline Control: Level...

Spending Time in the Office

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Spending Time in the Office

Visit the forum

Question of the Day

Multiple Values Inserted

I have this code on SQL Server 2022. What happens when it runs all at once?

DROP TABLE IF EXISTS dbo.Commission
GO
CREATE TABLE dbo.Commission
(id INT NOT NULL IDENTITY(1,1) CONSTRAINT CommissionPK PRIMARY KEY
, salesperson VARCHAR(20)
, commission VARCHAR(20)
)
GO
INSERT dbo.Commission
( salesperson, commission)
VALUES
( 'Brian', 12 ),
( 'Brian', 'None' )
GO
 

See possible answers