抽取历史库和业务备份库DW表比业务表数据多.docxVIP

抽取历史库和业务备份库DW表比业务表数据多.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

抽取历史库或业务备份库时DW表比业务表数据多

1背景描述:代理作业执行成功完成后,数据从业务库中成功抽到DW库中,之后进行数据校验核对,判断数据量是否相同。

2报错信息:通过查询数据量,发现DW表比业务表数据多。

3原因分析:a)业务表中的数据有物理删除,而抽取包无法判断物理删除情况,导致DW库中的表数据较多。

b)业务库为十进制(不区分大小写),而DW库为二进制(区分大小写),将相同数据识别为两条,导致数据较多。

c)开发抽取包时,主键设置错误,导致数据重复。

4解决方法:

?针对原因a和原因b,可通过在DW库中执行脚本删除数据。其步骤如下:

(1)首先建立链接服务器:

打开SSMS,找到服务器对象--链接服务器,右击新建链接服务器,按如下操作:

常规---链接服务器(输入服务器名称),服务器类型(选择SQLSEVER)注意:此服务器必须可以在可连接的范围内。

(2)安全性---使用此安全上下文建立连接(输入登录名和密码)

建立成功后,在链接服务器下会出现该服务器,右键单击--测试连接,可验证连接是否成功。

在源库中执行以下脚本:

Setansi_nullson

Setansi_warningson

--将业务表中的主键值插入TEMP_TABLE中

Select主键1,主键2,...

IntoTEMP_TABLE

FROM表名

在DW库中执行脚本:

Setansi_nullson

Setansi_warningson

--获取业务表中的TEMP_TABLE数据插到DW库中的TEMP_TABLE中

Select主键1,主键2,...

IntoTEMP_TABLE

FROM[链接服务器名].源库名.dbo.TEMP_TABLEwith(nolock)

--获取DW表比业务表多的主键值数据并插入TEMP_TABLE_EX中

Selectt.主键1,t.主键2,...

intoTEMP_TABLE_EX

FROM表名t

LeftjoinTEMP_TABLEt1

Ont.主键1=t1.主键1andt.主键2=t1.主键2

Wheret.主键1isnullandt.主键2isnulland...)

--删除多余的数据

Delete表名

FromTEMP_TABLE_EX

WHERE表名.主键1=TEMP_TABLE_EX.主键1and表名.主键2=TEMP_TABLE_EX.主键2and...

--查询DW表的行数,验证结果

Selectcount(1)from表名

--删除TEMP_TABLE

DroptableTEMP_TABLE

--删除TEMP_TABLE_EX

DroptableTEMP_TABLE_EX

?针对原因c,需要到抽取包中重新设置其主键,再重新进行抽取即可。

文档评论(0)

159678988694bb6 + 关注
实名认证
文档贡献者

159678988694bb6

1亿VIP精品文档

相关文档