La gestione temporanea basata su entità MDS potrebbe non riuscire quando viene usato un valore batch tag duplicato in SQL Server 2012

Questo articolo consente di risolvere il problema in cui la gestione temporanea basata su entità di Master Data Services (MDS) potrebbe non riuscire quando viene usato un valore batch tag duplicato in SQL Server 2012.

Versione originale del prodotto: SQL Server 2012
Numero KB originale: 2712547

Sintomi

Considerare lo scenario descritto di seguito:

  • Per importare dati in MDS, usare il processo di gestione temporanea basato su entità MDS di Microsoft SQL Server 2012.

  • È possibile popolare varie tabelle di staging MDS (stg.name) con i dati di staging usando la BatchTag colonna per identificare il batch.

  • Si usa lo stesso BatchTag valore per popolare una tabella di staging separata che appartiene a un'entità diversa in un modello MDS diverso.

  • Per avviare l'elaborazione batch, eseguire le stored procedure necessarie. In alternativa, si avvia il batch di staging dall'area funzionale Gestione integrazione nel sito Web MDS.

Quando si avvia il processo di staging, si usa una delle tre stored procedure seguenti:

  • stg.udp_name_Leaf

  • stg.udp_name_Consolidated

  • stg.udp_name_Relationship

Nota

Il <segnaposto del nome> è il nome della tabella di staging specificata al momento della creazione dell'entità.

Gli esempi seguenti illustrano come avviare il processo di staging usando la stored procedure di staging:

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

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

In questo scenario viene visualizzato il messaggio di errore seguente quando si avvia il processo di gestione temporanea:

MDSERR310029
Lo stato del batch specificato non è valido.

Inoltre, quando si controlla lo stato del batch, si nota che il batch con il BatchTag valore rimane bloccato a tempo indeterminato nello stato In esecuzione.

Nota

È possibile controllare lo stato del batch dal sito Web MDS facendo clic su Gestione integrazione e quindi selezionando il modello per visualizzare lo stato o eseguendo una query sulla [mdm].[tblStgBatch] tabella.

Causa

Questo problema si verifica perché il processo di staging basato su entità MDS controlla lo BatchTag stato indipendentemente dal modello MDS.

Risoluzione

Se il batch è bloccato in Stato di esecuzione, arrestare il processo batch e quindi provare a elaborare di nuovo il batch. Per arrestare il processo batch, eseguire l'istruzione SQL: Exec [mdm].[udpStagingBatchQueueActivate] per risolvere il problema, aggiornare il valore BatchTag nella tabella di staging per i record con un nuovo nome. Assicurarsi inoltre che il importstatus_ID campo sia impostato su 0 per i record.

Ulteriori informazioni

Per altre informazioni sull'avvio del processo di staging, visitare il sito Web seguente: