适用于:Windows
Azure SQL 托管实例上的 SQL Server
重要
Master Data Services(MDS)在 SQL Server 2025(17.x)中被移除。 我们继续支持 SQL Server 2022(16.x)和早期版本中的 MDS。
在 Master Data Services 中,每次对成员执行某项操作时,都会记录一笔事务。 事务可供所有用户查看并由管理员撤销。 交易记录会显示执行该操作的日期、时间和用户,以及其他详细信息。 用户可以为事务添加批注,以指示事务发生的时间。
事务何时被记录
在成员出现以下情况时,会记录交易:
被创建、删除或重新激活。
属性值是否已更改。
在层次结构中移动。
当业务规则更改属性值时,不记录事务。
查看和管理交易
在 Explorer 功能区域中,您可以查看并为您自己创建的交易添加评论。
在 “版本管理” 功能区域中,管理员可以查看其有权访问的模型的所有用户的所有事务,并撤消这些事务中的任意事务。
注意
管理员只要未在版本管理功能区域被授予只读权限级别,就可以查看所有用户的所有交易记录。 例如,如果为管理员设置了只读权限和更新权限级别,管理员将无法查看其他用户事务,因为只读权限将优先于更新权限。
可以通过在 Master Data Services 数据库的系统设置中设置“日志保留天数”属性,以及在创建或编辑模型时设置“日志保留天数”,从而配置事务日志数据的保留期限。 有关详细信息,请参阅 系统设置 (Master Data Services) 和 创建模型 (Master Data Services)。
SQL Server 代理作业(MDS_MDM_Sample_Log_maintenance)会触发事务日志的清理,并每晚运行。 你可以使用 SQL Server 代理修改此作业的时间表。
你也可以调用以下存储过程来清除事务日志。
| 存储过程 | 说明 |
|---|---|
| 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)。
将数据导入此版本的 SQL Server 中时,可以指定是否在启动存储过程时记录事务。 有关更多信息,请参阅 暂存存储过程 (Master Data Services)。
并发
如果某个实体值在多个资源管理器会话中同时显示,则可能对同一个值进行并发编辑。 MDS 不会自动检测并发编辑。 当多个用户从多个会话(例如从多个计算机、多个浏览器选项卡或窗口,或多个用户帐户)使用 Web 浏览器中的 MDS 资源管理器时,就会出现这种情况。
即使启用了事务,多个用户也可以同时更新同一实体的值而不会报错。 一段时间内针对该值的最后一次编辑通常优先级最高。 可以在事务历史记录中手工检测到重复编辑冲突,并可由管理员手动解决。 事务历史记录将为每个会话的相关属性的 “旧值” 和 “新值” 显示各个事务,但不会在同一个旧值存在多个 “新值” 时自动解决冲突。
相关任务
| 任务说明 | 主题 |
|---|---|
| 通过回滚事务来撤销操作(仅限管理员)。 | 回滚事务(主数据服务) |