Das entitätsbasierte MDS-Staging schlägt möglicherweise fehl, wenn in SQL Server 2012 ein doppelter Batch-Tag-Wert verwendet wird.

Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Master Data Services entitätsbasiertes Staging (MDS) fehlschlägt, wenn in SQL Server 2012 ein doppelter Batch-Tag-Wert 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 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 Integrationsverwaltung 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 erhalten Sie die folgende Fehlermeldung, wenn Sie den Stagingprozess starten:

MDSERR310029
Die status des angegebenen Batches ist ungültig.

Wenn Sie die Batch-status überprüfen, stellen Sie außerdem fest, dass der Batch mit dem BatchTag Wert auf unbestimmte Zeit in status Running hängen bleibt.

Hinweis

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

Ursache

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

Lösung

Wenn Ihr Batch in Running status hängen bleibt, beenden Sie den Batchprozess, und versuchen Sie dann erneut, den Batch zu verarbeiten. Um den Batchprozess 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: