Die entitätsbasierte Bereitstellung von MDS kann fehlschlagen, wenn in 2012 ein doppelter Batchtagwert SQL Server wird

Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem das entitätsbasierte Staging von Master Data Services (MDS) fehlschlagen kann, wenn in SQL Server 2012 ein doppelter Batchtagwert verwendet wird.

Ursprüngliche Produktversion:   SQL Server 2012
Ursprüngliche KB-Nummer:   2712547

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie verwenden den Microsoft SQL Server 2012 MDS-entitätsbasierten Stagingprozess, um Daten in MDS zu importieren.

  • Sie füllen verschiedene MDS-Stagingtabellen (stg.name) mit den Stagingdaten auf, indem Sie die Spalte verwenden, um BatchTag den Batch zu identifizieren.

  • Sie verwenden denselben Wert, um eine separate Stagingtabelle auffüllen zu können, die zu einer anderen BatchTag Entität in einem anderen MDS-Modell gehört.

  • Sie führen die erforderlichen gespeicherten Prozeduren aus, um die Batchverarbeitung zu starten. Oder Sie starten den Stagingbatch aus dem Funktionsbereich Integrationsverwaltung auf der MDS-Website.

Wenn Sie den Stagingvorgang starten, verwenden Sie eine von drei gespeicherten Prozeduren:

  • stg.udp_name_Leaf

  • stg.udp_name_Consolidated

  • stg.udp_name_Relationship

Hinweis

Der <name> Platzhalter ist der Name der Stagingtabelle, die beim Erstellen der Entität angegeben wurde.

Die folgenden Beispiele zeigen, wie Sie den Stagingvorgang mithilfe der gespeicherten Stagingprozedur starten:

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

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

In diesem Szenario erhalten Sie die folgende Fehlermeldung, wenn Sie den Stagingvorgang starten:

MDSERR310029
Der Status des angegebenen Batches ist ungültig.

Darüber hinaus stellen Sie beim Überprüfen des Batchstatus fest, dass der Batch mit dem Wert dauerhaft im Status BatchTag "Ausführen" hängen bleibt.

Hinweis

Sie können den Batchstatus auf der MDS-Website überprüfen, indem Sie auf Integrationsverwaltung klicken und dann das Modell zum Anzeigen des Status auswählen oder die Tabelle [mdm].[tblStgBatch] abfragen.

Ursache

Dieses Problem tritt auf, da der entitätsbasierte MdS-Stagingprozess den Status unabhängig BatchTag vom MDS-Modell überprüft.

Lösung

Wenn der Batch im Status "Ausführen" nicht mehr ausgeführt wird, beenden Sie den Batchprozess, und versuchen Sie dann, den Batch erneut zu verarbeiten. Um den Batchprozess zu beenden, führen Sie die SQL-Anweisung aus: Aktualisieren Sie den BatchTag-Wert in der Stagingtabelle für die Datensätze auf einen neuen Namen, um dieses Problem Exec [mdm].[udpStagingBatchQueueActivate] zu beheben. Stellen Sie außerdem sicher, dass das Feld für die Datensätze importstatus_ID auf 0 festgelegt ist.

Weitere Informationen

Weitere Informationen zum Starten des Stagingprozesses finden Sie auf der folgenden Website: