Транзакции (службы Master Data Services)

Область применения:SQL Server — только управляемый экземпляр SQL Windows Azure


В службах Master Data Services транзакция записывается каждый раз, когда действие выполняется на элементе. Все пользователи могут просматривать транзакции, а администраторы также могут их обращать (отменять). Транзакции отображают дату, время и пользователя, выполнившего действие, а также другие сведения. Пользователь может добавить к транзакции заметку, чтобы указать причину выполнения транзакции.

Время регистрации транзакций

Транзакции записываются, когда элементы:

  • создаются, удаляются или повторно активируются;

  • изменяют значения своих атрибутов;

  • перемещаются по иерархии.

Когда бизнес-правила изменяют значения атрибутов, транзакции не регистрируются.

Просмотр и управление транзакциями

В функциональной области Обозреватель вы можете просматривать сделанные вами транзакции и добавлять к ним заметки (примечания).

В функциональной области Управление версиями администратор может просматривать все транзакции всех пользователей для моделей, к которым у них имеется доступ, а также обращать любые такие транзакции.

Заметка

Администраторы могут просматривать все транзакции всех пользователей до тех пор, если только в функциональной области Управление версиями для них не задан уровень разрешений только для чтения. Например, если у администратора есть разрешение только на чтение и разрешение на обновление, он не сможет просматривать транзакции других пользователей, так как разрешение только на чтение имеет приоритет над разрешением на обновление.

Вы можете настроить, сколько времени хранятся данные журнала транзакций, задав свойство "Хранение журналов в днях " в системных параметрах базы данных Master Data Services и задав дни хранения журналов при создании или изменении модели. Дополнительные сведения см. в разделе "Параметры системы" (службы Master Data Services) и создание модели (службы Master Data Services).

MDS_MDM_Sample_Log_Maintenace, задание агента SQL Server, инициирует очистку журналов транзакций и запускается каждую ночь. Для изменения расписания для этого задания можно использовать агент SQL Server.

Кроме того, для очистки журналов транзакций можно вызвать следующие хранимые процедуры.

Хранимая процедура Description
mdm.udpTransactionsCleanup Очищает журнал транзакций
mdm.udpValidationsCleanup Очищает журнал проверки
mdm.udpEntityStagingBatchTableCleanup Очищает промежуточную таблицу

Образец

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;  
  

Системные параметры

В Диспетчере конфигурации служб Master Data Services имеется параметр, который влияет на то, записываются ли транзакции при выполнении записей. Этот параметр можно настроить в Диспетчере конфигурации Служб Master Data Services или непосредственно в таблице параметров системы в базе данных Master Data Services. Дополнительные сведения см. в разделе "Параметры системы" (службы Master Data Services).

При импорте данных в этой версии SQL Server можно указать, следует ли регистрировать транзакции при инициировании хранимой процедуры. Дополнительные сведения см. в разделе промежуточной хранимой процедуры (службы Master Data Services).

Параллелизм

Если значение определенной сущности одновременно отображается в нескольких сеансах обозревателя, это значение может изменяться одновременно несколькими пользователями. Службы MDS не обнаруживают одновременные изменения автоматически. Такая ситуация возможна, когда несколько пользователей работают в обозревателе служб MDS в веб-браузере, например в нескольких сеансах, на нескольких вкладках браузера или в нескольких его окнах либо из-под нескольких учетных записей пользователей.

Несколько пользователей могут обновлять одно значение сущности без ошибок несмотря на то, что транзакции включены. Обычно приоритет получает изменение, которое по времени было внесено последним. Администратор может просмотреть конфликты, возникающие при одновременном внесении нескольких одинаковых изменений, в журнале транзакций и вручную разрешить их. В журнале транзакций отображаются отдельные транзакции для предыдущего значения и нового значения для рассматриваемого атрибута из каждого сеанса, однако конфликты, возникающие, если для одного старого значения существуют несколько новых значений , автоматически не разрешаются.

Описание задачи Раздел
Отмена действия путем обращения транзакции (только администраторы). Обратная транзакция (службы Master Data Services)

Внешние ресурсы

Публикация блога Transactions, Validation Issue and Staging table cleanup(Транзакции, проблема проверки и очистка промежуточной таблицы) на портале msdn.com.