Partilhar via


Transações (Master Data Services)

Aplica-se a: SQL Server - somente Windows Instância Gerenciada de SQL do Azure


No Master Data Services, uma transação é registrada sempre que uma ação é tomada em um membro. Transações podem ser exibidas por todos os usuários e revertidas por administradores. As transações mostram a data, a hora e o usuário que tomou a ação, além de outros detalhes. Usuários podem adicionar uma anotação a uma transação, para indicar por que uma transação aconteceu.

Quando as transações são registradas

As transações são registradas quando os membros:

  • São criados, excluídos ou reativados.

  • Têm valores de atributo alterados.

  • São movidos em uma hierarquia.

As transações não são gravadas quando as regras de negócios alteram os valores do atributo.

Exibir e gerenciar transações

Na área funcional Explorer , você pode exibir e anotar (adicionar comentários) as transações que você mesmo criou.

Na área funcional Gerenciamento de Versões , os administradores podem exibir todas as transações de todos os usuários dos modelos aos quais têm acesso e reverter qualquer uma dessas transações.

Observação

Os administradores podem exibir todas as transações para todos os usuários, desde que não tenham o nível de permissão somente leitura aplicado na área funcional Gerenciamento de Versão. Por exemplo, se o nível de permissão somente leitura e de permissão de atualização estiver definido para o administrador, ele não poderá ver as transações de outro usuário porque a permissão somente leitura terá precedência sobre a permissão de atualização.

Você pode configurar quanto tempo os dados do log de transações são retidos definindo a propriedade Retenção de Log em Dias nas configurações do sistema do banco de dados do Master Data Services e definindo Retenção de Log em Dias ao criar ou editar um modelo. Para saber mais, veja Configurações do sistema (Master Data Services) e Criar um modelo (Master Data Services).

O trabalho do SQL Server Agent, MDS_MDM_Sample_Log_Maintenace, aciona a limpeza dos logs de transações e é executado todas as noites. Você pode usar o SQL Server Agent para modificar o agendamento desse trabalho.

Também é possível chamar os procedimentos armazenados a seguir para limpar os logs de transações.

Procedimento armazenado Descrição
mdm.udpTransactionsCleanup Limpa o histórico de transações
mdm.udpValidationsCleanup Limpa o histórico de validação
mdm.udpEntityStagingBatchTableCleanup Limpa a tabela de preparo

Amostra

DECLARE @CleanupOlderThanDate date = '2014-11-11',  
@ModelID INT = 7  
--Clean up Transaction Logs  
EXEC mdm.udpTransactionsCleanup @ModelID, @CleanupOlderThanDate;  
  
--Clean up Validation History  
EXEC mdm.udpValidationsCleanup @ModelID, @CleanupOlderThanDate;  
  
--Clean up EBS tables  
EXEC mdm.udpEntityStagingBatchTableCleanup @ModelID, @CleanupOlderThanDate;  
  

Configurações do sistema

Há uma configuração no Gerenciador de Configuração do Master Data Services que afeta se as transações são ou não registradas quando os registros são preparados. Essa configuração pode ser ajustada no Gerenciador de Configurações do Master Data Services ou diretamente na tabela de Configurações do Sistema do banco de dados do Master Data Services. Para obter mais informações, consulte Configurações do sistema (Master Data Services).

Ao importar dados nesta versão do SQL Server, você poderá especificar se deseja ou não registrar em log as transações ao iniciar o procedimento armazenado. Para obter mais informações, consulte Preparando um procedimento armazenado (Master Data Services).

Simultaneidade

Se um valor de entidade específico for mostrado simultaneamente em mais de uma sessão do Explorer, as edições simultâneas do mesmo valor serão permitidas. As edições simultâneas não serão detectadas automaticamente pelo MDS. Isso pode ocorrer quando vários usuários utilizarem o MDS Explorer no navegador da Web de várias sessões como, por exemplo, de vários computadores, várias guias ou janelas de navegador ou várias contas de usuário.

Mais de um usuário pode atualizar os mesmos valores de entidade sem erro apesar das transações habilitadas. Normalmente, a última edição do valor em determinado período terá precedência. O conflito de edição duplicada pode ser observado manualmente no histórico de transação e pode ser revertido manualmente pelo administrador. O histórico de transações mostrará as transações individuais para o Valor anterior e o Novo valor do atributo em questão de cada sessão, mas não resolverá o conflito automaticamente quando vários Novos Valores existirem para o mesmo valor antigo.

Descrição da tarefa Tópico
Desfazer uma ação por meio de reversão de uma transação (somente administradores). Inverter uma transação (Master Data Services)

Recursos externos

Postagem do blog, Transactions, Validation Issue and Staging table cleanup(Transações, problemas de validação e limpeza de tabela de preparo), no msdn.com.