tisdag 16 oktober 2012


Master Data Services fel vid körning av store procedure: “The status of the specified batch not valid”


Förra veckan när jag och en kollega gjorde en PoC (Proof of concept) för att demonstrera hur man kan använda en MDS (Master Data Services) stötte vi på ett märkligt problem. När vi körde en stored procedure (stg.udp_name_Leaf), som skall ladda in data till tabeller i MDS databasen, fick vi istället detta felmeddelande:
            


     “MDSERR310029|The status of the specified batch is not valid.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
I vårt fall fick vi detta fel på grund av att en batch med samma namn (BatchTag) redan kördes och därför kunde inte en ny batch med samma namn skapas. Vi märkte då att vår föregående batch hade fastnat med status ”Running”.




För att åtgärda detta problem hittade vi följande Microsoft KB-artikel: ”MDS entity-based staging may fail when a duplicate Batch Tag value is used in SQL Server 2012”, som säger att man skall köra följande sql-fråga ”EXEC [mdm].[udpStagingBatchQueueActive]” för att batchen skall sluta köras.

I vårt fall fungerade detta tyvärr inte och vår batch hade fortfarande status ”Running”. För att komma runt detta problem fick vi då istället köra en manuell uppdatering i tabellen [mdm].[tblStgBatch] genom en sql-fråga ”UPDATE [mdm].[tblStgBatch] SET status_id = 7 WHERE BatchTag = 'KundModell' AND status_id = 3”.

Inga kommentarer:

Skicka en kommentar