73 lines
1.6 KiB
Transact-SQL
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
|