Files
sql-scripts/OCTPDBA-379 - cleanup hciChangeTracking/MaintainHCIChangeTrackingHistory.sql
Thierry Schork 7cf858256a initial commit
2022-12-30 12:10:12 +01:00

73 lines
1.6 KiB
Transact-SQL

IF OBJECT_ID('[dbo].[MaintainHCIChangeTrackingHistory]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[MaintainHCIChangeTrackingHistory];
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*=============================================================================
Description
----------------------
OCTP-2459
Cleans history data in HCIChangeTracking.
Deletes all records older than 2 years in the following tables:
* [OlpDirectoryChangeLog]
* [OlpfactChangeLog]
* [OlpfactValidatorChangeLog]
Where
----------------------
On all TriaFact instances
Dependencies
----------------------
Called by job [W030100 - Cleanup HCIChangeTracking]
Creation:
03.11.2022 / TSC
Modifications:
=============================================================================*/
CREATE PROCEDURE dbo.MaintainHCIChangeTrackingHistory
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@deleted INT
,@batch_size INT = 100000
,@today DATE = DATEADD(DAY, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP), 0);
SET @deleted = 1;
WHILE @deleted > 0 BEGIN
DELETE TOP (@batch_size) cl
FROM dbo.[OlpDirectoryChangeLog] cl
WHERE cl.CreationDate < DATEADD(YEAR, -2, @today);
SET @deleted = @@ROWCOUNT;
END
SET @deleted = 1;
WHILE @deleted > 0 BEGIN
DELETE TOP (@batch_size) cl
FROM dbo.[OlpfactChangeLog] cl
WHERE cl.CreationDate < DATEADD(YEAR, -2, @today);
SET @deleted = @@ROWCOUNT;
END
SET @deleted = 1;
WHILE @deleted > 0 BEGIN
DELETE TOP (@batch_size) cl
FROM dbo.[OlpfactValidatorChangeLog] cl
WHERE cl.CreationDate < DATEADD(YEAR, -2, @today);
SET @deleted = @@ROWCOUNT;
END
END