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: