You are on page 1of 1

delete million rows in Table

Bulk DELETE

BEGIN TRANSACTION
DECLARE @time char(8)
PRINT '0 PRINT before anything else ' + convert (varchar(30),
SYSUTCDATETIME(), 8)

DoAgain:
PRINT '1 STARTdeleting 1000 records AT ' + CONVERT(NVARCHAR(30),
SYSUTCDATETIME(),126)
-- SET @time= convert (varchar(30), SYSUTCDATETIME(), 8)
--RAISERROR ('deleted 1000 RECORDS %s', 10, 1, @time) WITH NOWAIT
DELETE TOP(1000) FROM TMXLog where action = 3 and date <= '2021-2-28'
--SET @time= convert (varchar(30), SYSUTCDATETIME(), 8)
--RAISERROR ('deleted 1000 RECORDS %s', 10, 1, @time) WITH NOWAIT
IF @@ROWCOUNT > 0
GOTO DoAgain
COMMIT TRANSACTION

SELECT DAte, count(date) from TMXLog group by date haviNG COUNT(DATE)>10000

WHILE 1 = 1
BEGIN
DELETE TOP(2000) FROM TMXLog where month(date)=1

IF @@ROWCOUNT < 2000 BREAK;


END

select * from TmUser order by LoginName

select * from TMXLog

select * from TmGlobalSystemSettings

delete from TMXLog where action = 3 and date <= '2020-12-31

commit

You might also like