• DB数据库的数据不能同步到Warehouse数据仓库


    问题原因:

    远程登录到服务器,开始->管理工具->计算机管理->事件查看器->Windows日志->应用程序,打开错误信息,错误提示参考文档。                      

    查看文档,我们这么一句看到应修整名称“SysImpManagement_ImplyIssue_SupportConfirmtime ”开头或结尾的空白。

    SysImpManagement_ImplyIssue_SupportConfirmtime是实施问题流程的一个字段,我们看到字段后面有一个空格,通过查看数据库,此字段添加的时间为2013-10-17 上午11点左右,Warehouse中2013-10-17上午9点的数据已经同步,在在17号11点之后的数据都没有同步进来,因此我们将问题定位在这个空格上。

    解决方案:

    确定问题字段

    (1)       实施流程在DefaultCollection项目集合上有部署。首先,我们使用查看在这个数据库下的Fields表的这个字段:

    select *

    from Tfs_DefaultCollection.dbo.Fields a

    where a.Name='S_实施支撑确认时间';

    查看ReferenceName字段的值,确实包含一个空格;

    (2)       用UE打开实施问题流程,查看'S_实施支撑确认时间'字段,发现其引用名为refname="SysImpManagement.ImplyIssue.SupportConfirmtime
",可以看到出现了乱码‘
’,即空格。我们查看其他字段是否含有空格,因为系统有时报的错误并不全面,发现还有‘S_实施支撑分析时间’和‘S_实施支撑分析者’的引用名后面有乱码;

    创建新字段代替旧字段

    (3)       保存此文件,命名为“实施问题原字段流程.xml”,令复制一份,命名为“实施问题中间流程.xml”;

    (4)   在“实施问题中间流程.xml”中重新定义三个字段来代替'S_实施支撑确认时间'、‘S_实施支撑分析时间’和‘S_实施支撑分析者’,注意按照原命名规则进行定义,不要发生冲突,将所有用到'S_实施支撑确认时间'、‘S_实施支撑分析时间’和‘S_实施支撑分析者’的地方全部替换为新定义的字段,注意不要删除原字段;

    (5)   将“实施问题中间流程.xml”更新到DefaultCollection项目集合下的项目中;

    (6)   新建查询,保证列选项中有'S_实施支撑确认时间'、‘S_实施支撑分析时间’、‘S_实施支撑分析者’和新定义的三个字段,保存查询;

    (7)   将查询结果在Excel中打开,将'S_实施支撑确认时间'、‘S_实施支撑分析时间’和‘S_实施支撑分析者’的值拷贝到对应的新添加的字段中,发布;

    删除旧字段

    (8)   拷贝一份“实施问题中间流程.xml”,命名为“实施问题新字段流程.xml”,将'S_实施支撑确认时间'、‘S_实施支撑分析时间’和‘S_实施支撑分析者’的定义删除,保存;

    (9)   将“实施问题新字段流程.xml”更新到服务器;

    从数据库中删除字段

    (10)   在DefaultCollection数据库中按一下方式删除字段:

    select * from Tfs_DefaultCollection.dbo.Fields a where a.Name='S_实施支撑确认时间';--FldID=10206

    delete from Tfs_DefaultCollection.dbo.Fields where FldID=10206;

    delete from Tfs_DefaultCollection.dbo.FieldUsages where FldID=10206;

    delete from Tfs_DefaultCollection.dbo.WorkItemTypeUsages where FieldID=10206;

    由于Fields是主表,所以删除时需先执行下面两条语句。

    (11)   在Warehouse数据库中按一下方式删除字段:

    select * from Tfs_Warehouse.dbo._WitFields a where a.FieldId=10206 and a.DisplayName='S_实施支撑确认时间';--SK=38203

    delete from Tfs_Warehouse.dbo._WitFields where SK=38203;

    (12)   按照(10)和(11)的方法删除‘S_实施支撑分析时间’和‘S_实施支撑分析者’字段。

  • 相关阅读:
    转载:关于sql server数据库表的主键问题
    centos FTP服务器的架设和配置
    OceanBase,淘宝开源的千亿级别分布式数据库系统。支持读写事务的线上服务
    在Fedora/Redhat/CentOS中防火墙设置
    转:SQL2008调试
    1.4.2 使用ActionScript类
    自写ajax经验总结
    搜索引擎中文分词技术
    优化数据库的方法及SQL语句优化的原则
    因为数据库正在使用,所以无法获得对数据库的独占访问权还原或删除数据库的解决方法
  • 原文地址:https://www.cnblogs.com/huhu-xiaomaomi/p/3411180.html
Copyright © 2020-2023  润新知