FIX: Add three stored procedures to clean up history that is created when you use SQL Server 2012 or 2014 MDS

Applies to: SQL Server 2012 DeveloperSQL Server 2012 EnterpriseSQL Server 2012 Standard


When you use Microsoft SQL Server 2012 or 2014 Master Data Services (MDS), the history can grow very big, and there is no built-in function to clean it up. Three stored procedures are added to clean up staging, validation, and transaction history. The usage is as follows:
--@ModelID is the model ID that you clean up the log for.
--@CLeanupOlderThanDate is the date before that the logs or records is deleted.

DECLARE @CleanupOlderThanDate date = '<Date>', @ModelID INT = <ID>
--Cleanup Transaction History
EXEC mdm.udpTransactionsCleanup @ModelID, @CleanupOlderThanDate;

--Cleanup Validation History
EXEC mdm.udpValidationsCleanup @ModelID, @CleanupOlderThanDate;

--Cleanup entity-based staging table
EXEC mdm.udpEntityStagingBatchTableCleanup @ModelID, @CleanupOlderThanDate;

Note The central tables that grow large are mdm.tblTransaction, mdm.tblTransactionAnnotation, mdm.tblValidationLog, mdm.tblValidationHistory, and mdm.tblStgBatch.


The issue was first fixed in the following cumulative update of SQL Server.

Cumulative Update 1 for SQL Server 2014 SP1

Cumulative Update 6 for SQL Server 2012 SP2

Cumulative Update 7 for SQL Server 2014

Cumulative Update 15 for SQL Server 2012 SP1


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.