Hi @ahmed salah
See this sample:
DELETE FROM LogMessages WHERE LogDate < '20020102';
Change to this:
DECLARE @done bit = 0;
WHILE (@done = 0)
BEGIN
DELETE TOP(1000) FROM LogMessages WHERE LogDate < '20020102';
IF @@rowcount < 1000 SET @done = 1;
END;
Refer to this doc for more details: Resolve blocking problems caused by lock escalation in SQL Server
Best regards,
LiHong