O preparo baseado em entidade do MDS pode falhar quando um valor de Marca de Lote duplicado é usado no SQL Server 2012
Este artigo ajuda você a resolve o problema em que o preparo baseado em entidade de Master Data Services (MDS) pode falhar quando um valor de Marca de Lote duplicado é usado no SQL Server 2012.
Versão original do produto: SQL Server 2012
Número de KB original: 2712547
Sintomas
Considere o seguinte cenário:
Você usa o processo de preparo baseado em entidade do Microsoft SQL Server 2012 MDS para importar dados para o MDS.
Você preenche várias tabelas de preparo de MDS (stg.name) com os dados de preparo usando a
BatchTag
coluna para identificar o lote.Você usa o mesmo
BatchTag
valor para preencher uma tabela de preparo separada que pertence a uma entidade diferente em um modelo MDS diferente.Execute os procedimentos armazenados necessários para iniciar o processamento em lote. Ou inicie o lote de preparo da área funcional do Integration Management no site do MDS.
Ao iniciar o processo de preparo, você usa um dos três procedimentos armazenados:
stg.udp_name_Leaf
stg.udp_name_Consolidated
stg.udp_name_Relationship
Observação
O <espaço reservado de nome> é o nome da tabela de preparo especificada quando a entidade foi criada.
Os exemplos a seguir mostram como iniciar o processo de preparo usando o procedimento armazenado de preparo:
exec mds.stg.udp_entityname1 'versionAdescription',0,'batchtag'
exec mds.stg.udp_entityname2 'versionBdescription',0,'batchtag'
Neste cenário, você recebe a seguinte mensagem de erro ao iniciar o processo de preparo:
MDSERR310029
O status do lote especificado não é válido.
Além disso, quando você marcar o lote status, você observa que o lote que tem o BatchTag
valor permanece indefinidamente preso em status Em execução.
Observação
Você pode marcar o lote status no site do MDS clicando em Gerenciamento de Integração e selecionando o modelo para exibir o status ou consultando a [mdm].[tblStgBatch]
tabela.
Motivo
Esse problema ocorre porque o processo de preparo baseado em entidade do MDS verifica o BatchTag
status independentemente do modelo MDS.
Resolução
Se o lote estiver preso em Execução status, interrompa o processo do lote e tente processar o lote novamente. Para interromper o processo de lote, execute a instrução SQL: Exec [mdm].[udpStagingBatchQueueActivate]
Para resolve esse problema, atualize o valor BatchTag na tabela de preparo dos registros para um novo nome. Além disso, verifique se o importstatus_ID
campo está definido como 0 para os registros.
Mais informações
Para obter mais informações sobre como iniciar o processo de preparo, acesse o seguinte site:
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários