MDS entity-based staging may fail when a duplicate Batch Tag value is used in SQL Server 2012

This article helps you resolve the problem where Master Data Services (MDS) entity-based staging may fail when a duplicate Batch Tag value is used in SQL Server 2012.

Original product version:   SQL Server 2012
Original KB number:   2712547

Symptoms

Consider the following scenario:

  • You use the Microsoft SQL Server 2012 MDS entity-based staging process to import data into MDS.

  • You populate various MDS staging tables (stg.name) with the staging data by using the BatchTag column to identify the batch.

  • You use the same BatchTag value to populate a separate staging table that belongs to a different entity in a different MDS model.

  • You run the necessary stored procedures to start the batch processing. Or, you start the staging batch from the Integration Management functional area on the MDS website.

When you start the staging process, you use one of three stored procedures:

  • stg.udp_name_Leaf

  • stg.udp_name_Consolidated

  • stg.udp_name_Relationship

Note

The <name> placeholder is the name of the staging table that was specified when the entity was created.

The following examples show how to start the staging process by using the staging stored procedure:

  • exec mds.stg.udp_entityname1 'versionAdescription',0,'batchtag'

  • exec mds.stg.udp_entityname2 'versionBdescription',0,'batchtag'

In this scenario, you receive the following error message when you start the staging process:

MDSERR310029
The status of the specified batch is not valid.

Additionally, when you check the batch status, you notice that the batch that has the BatchTag value remains indefinitely stuck in status Running.

Note

You can check the batch status from the MDS website by clicking Integration Management and then selecting the model to view the status or by querying the [mdm].[tblStgBatch] table.

Cause

This problem occurs because the MDS entity-based staging process checks the BatchTag status regardless of the MDS model.

Resolution

If your batch is stuck in Running status, stop the batch process, and then try to process the batch again. To stop the batch process, run the SQL statement: Exec [mdm].[udpStagingBatchQueueActivate] To resolve this problem, update the BatchTag value in the staging table for the records to a new name. Additionally, make sure that the importstatus_ID field is set to 0 for the records.

More information

For more information about starting the staging process, go to the following website: