Das entitätsbasierte Staging von MDS kann fehlschlagen, wenn in SQL Server 2012 ein doppelter Batchtagwert verwendet wird.

Dieser Artikel hilft Ihnen bei der Lösung des Problems, bei dem Master Data Services (MDS)-entitätsbasiertes Staging 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 entitätsbasierten Stagingprozess von Microsoft SQL Server 2012 MDS, um Daten in MDS zu importieren.

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

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

  • Sie führen die erforderlichen gespeicherten Prozeduren aus, um die Batchverarbeitung zu starten. Alternativ können Sie den Stagingbatch über den Funktionsbereich "Integrationsmanagement" auf der MDS-Website starten.

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

  • stg.udp_name_Leaf

  • stg.udp_name_Consolidated

  • stg.udp_name_Relationship

Hinweis

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

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

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

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

In diesem Szenario wird beim Starten des Stagingprozesses die folgende Fehlermeldung angezeigt:

MDSERR310029
Der Status des angegebenen Batches ist ungültig.

Wenn Sie den Batchstatus überprüfen, stellen Sie außerdem fest, dass der Batch, der den BatchTag Wert aufweist, unbestimmt im Status "Ausgeführt" verbleibt.

Hinweis

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

Ursache

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

Lösung

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

Weitere Informationen

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