MS SQL Server数据恢复软件测试(数据表内容对比)

上一篇“导出记录数量对比-软件测试方法(一)”,主要介绍数据导出结果记录数量和原始正常好库的记录数量精确对比,测试软件导出少数据的相关bug。

本文测试方法旨在更精确比对表记录内部数据差异,记录数量的对比只是恢复准确率的必要条件,而记录内部的字段数据内容是否一致,才是比较的终极目标。

  1. 测试目的:在很多情况下,数据导出是以记录数量来衡量是否齐全。在某些情况下,数据记录数量导出是一致的,但,记录内部数据却出现差异,比如某些数字字段,一旦出现差异,其结果将带来不准确。本测试大纲目的是比对表中记录数据是否有差异,一旦出现差异,想办法修改软件,达到更准确的恢复效果。

二、测试工具:tablediff.exe,这个工具就用于表内部数据比较,是MS SQL Server自带的一个工具。各位可以自行搜索自己机器上的这个文件所在的路径。

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\N2C06Y$@{~KFPUTE4{B%J_J.png

三、构建数据表比较SQL语句:
———————————————————————————-

use UFDATA_006_2015_好酷

SELECT ‘tablediff.exe -sourceserver 127.0.0.1\SQL2008R2 -sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷 -sourceschema dbo -sourcetable ‘+object_name (id)

+’ -destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_006_2015_好酷_out -destinationschema dbo -destinationtable ‘

+object_name (id)+’ -et Difference -f c:\data\’+object_name (id)+’.sql’ as SQL

from sysObjects where type =’U’

—————————————————————————————

解析:-sourceserver 127.0.0.1\SQL2008R2 原始数据库实例
sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷

sa是原始数据库用户,dst是sa用户的密码,各位根据自己的设置更改,UFDATA_002_2017_原始好库是原始数据库。

-destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_002_2017_好库导出

127.0.0.1\SQL2008R2 是目标数据库实例,可以跨越实例比较,sa dst UFDATA_006_2015_好酷_out 都是目标数据库用户名、密码、库名称

f c:\data\’+object_name (id)+’.sql’ 这个是把比较结果,写道c:\data目录下,用表的名字命名。

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\2V$}G{XZDF`$LW]`[D1IFYE.png

四、语句执行方法
找到tablediff.exe文件路径
C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\C8]}7`3I@TEJ}U%ZS(7@]FC.png

进入cmd模式下,在路径上输入cmd,回车
C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\11WNV~1F1`1]N3625_W50O7.png

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\BVK(OVH76)GI]3{(C%}WI7B.png

把得到的SQL语句复制,贴到cmd窗口上。

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\38CBR(G9B2RJPRG8OC05(RT.png

建好c:\data 目录,修改好权限

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\M4%~D_@P57BV[CPWDAAZOZ2.png

设置sa登录,及密码

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\WYX(4LJ)VXI1%SM)OXET9{2.png

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\%)X5(MYP7COI)3{_V7DT@TU.png

把得到的SQL语句复制,贴到cmd窗口上:
C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\{}2S~IX(B0Z5{E{4_EJAZ96.png

自动运行:

C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\5P0BO9]0RL$~TAKD}UX@3GI.png

五、等待运行结果
C:\Users\qintl\AppData\Roaming\Tencent\Users\12869803\QQ\WinTemp\RichOle\BX]9_O0}K@1M5M4YYMG)A0R.png

总结查看不同的结果,把结果做成汇总,如若发现大的出入,有可能的话可提供数据库给我。我邮箱12869803@qq.com

达思覃廷良2019-05-05

已有 0 用户参与0
0 : 0
+1已打分
打赏 赞(0)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

已有 0 条评论