【问题标题】:Getting Source only and mismatch data with tablediff utility使用 tablediff 实用程序仅获取源和不匹配数据
【发布时间】:2016-06-16 13:01:23
【问题描述】:

我正在使用 tablediff 实用程序将数据从 serval 数据库源传输到目标数据库,我得到的结果具有源数据库和目标数据库之间的所有差异,类似于这样

Dest. Only  N'1027' N'799'  N'91443'    N'1'    
Mismatch    N'103A' N'799'  N'13010'    N'1'    DATE_CURRENT DATE_OPERATION MATRICULE_UTILISATEUR QTE QTE_FINAL QTE_INIT QTE_OPERATION REFERENCE_DOCUMENT TYPE_DOCUMENT 
Src. Only   N'103A' N'310'  N'30129'    N'1'    

所以生成的sql文件包含deleteDest. Only行、updateMismatch行和insertSrc. Only行

我的问题是:有没有办法使用tablediff 来获得只有Mismatch 和Src. Only 行的结果??

【问题讨论】:

  • 您好,您还需要这方面的帮助吗?

标签: sql-server comparison data-synchronization


【解决方案1】:

在您的tablediff 工具命令末尾添加以下内容

-dt -et DiffResults

它将删除一个名为DiffResults 的现有表,并在目标服务器和数据库中创建一个新表。 然后您可以查询DiffResults 表以获取所需的行。 在我的测试中,我运行以下命令

SELECT * FROM DiffResults
WHERE MSdifftool_ErrorDescription in ('Mismatch','Src. Only')

或

SELECT * FROM DiffResults
WHERE MSdifftool_ErrorCode in (0,2) -- 0 is for 'Mismatch';  1 is for 'Dest. Only' and 2 is for 'Src. Only'

更多细节可以在这里找到 - https://technet.microsoft.com/en-us/library/ms162843.aspx

【讨论】:

    【解决方案2】:

    如果你想使用命令行的结果,你可以用 findstr 管道输出:

    tablediff <your parameters> | findstr /i "^Mismatch ^Src"
    

    【讨论】:

      猜你喜欢
      • 2020-12-03
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      相关资源
      最近更新 更多