Master Data Services进阶指导:处理和验证数据

日期: 2010-04-20 作者:Denny Cherry翻译:曾少宁 来源:TechTarget中国 英文

在筹划数据后,我们需要通过运行 mdm.udpStagingSweep 存储过程来提醒 Master Data Services 开始处理数据了。这个存储过程有三个参数:筹划这个批处理的用户的 UserId,所处理模型的 VersionId,以及一个告诉 MDS 数据应该马上处理还是经过一定时间间隔后再处理的值。指定的用户必须是一个进入 Master Data Services 的 Web 应用的模型管理员。下面的代码显示的是如何马上运行数据处理过程。

  DECLARE @ModelName NVARCHAR(50) = ‘Adventur……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在筹划数据后,我们需要通过运行 mdm.udpStagingSweep 存储过程来提醒 Master Data Services 开始处理数据了。这个存储过程有三个参数:筹划这个批处理的用户的 UserId,所处理模型的 VersionId,以及一个告诉 MDS 数据应该马上处理还是经过一定时间间隔后再处理的值。指定的用户必须是一个进入 Master Data Services 的 Web 应用的模型管理员。下面的代码显示的是如何马上运行数据处理过程。

  DECLARE @ModelName NVARCHAR(50) = 'Adventure Works'
  DECLARE @UserName NVARCHARM(50)= 'CORPdcherry'
  DECLARE @UserId INT
  DECLARE @VersionId INT
  SET @UserId = (SELECT ID
  FROM mdm.tblUser u
  WHERE u.UserName = @UserName)
  SET @VersionId = (SELECT MAX(ID)
  FROM mdm.viw_SYSTEM_SCHEMA_VERSION
  WHERE Model_Name = @ModelName)
  EXEC mdm.udpStagingSweep @UserId=@UserId, @VersionId=@VersionId, @Process=1

  如果要在指定时间间隔后处理数据,那么要将 @Processparameter 的值从 1 改为 0。

  要验证用于处理的批处理是否正确,需要查询 themdm.tblStgBatch 表。Status_ID 字段值为 2 表示您的批处理过程失败了,而 Status_ID 字段值为 1 表示成功。

  您可以通过查看 mdm.tblStgMember 和 andmdm.tblStgMemberAttribute 表的 Status_ID 和 ErrorCode 字段查看处理后的每一行记录的状态。关于 MDS Staging 表可能发生的错误代码的一个完整列表可以在 KnightReign 博客 和这个 MSDN 论坛话题 中找到。

  所有的处理错误也将会被记录到运行您的 MDS 数据库的服务器上的 ERRORLOG 文件中。这些错误将会显示为一个激活的服务中间人过程的输出消息,如图 3 所示。

  验证数据

  在处理数据后,您可以选择使用 themdm.udpValidateModel 存储过程验证这些数据。这个存储过程有四个参数:UserId、ModelId、VersionId 和 StatusId。完成处理的 Status 值是 1。下面的示例代码将会验证最近处理的一批数据。

  DECLARE @ModelName NVARCHAR(50) = 'Adventure Works'
  DECLARE @ModelId INT
  DECLARE @UserName NVARCHAR(50)= 'CORPdcherry'
  DECLARE @UserId INT
  DECLARE @VersionId INT
  SET @UserId = (SELECT ID
  FROM mdm.tblUser u
  WHERE u.UserName = @UserName)
  SET @ModelId = (SELECT Model_ID
  FROM mdm.viw_SYSTEM_SCHEMA_VERSION
  WHERE Model_Name = @ModelName)
  SET @VersionId = (SELECT MAX(ID)
  FROM mdm.viw_SYSTEM_SCHEMA_VERSION
  WHERE Model_ID = @ModelId)
  EXECUTE mdm.udpValidateModel @UserId, @ModelId, @VersionId, 1

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐