U8管理软件-数据复制故障一例(一)问题现象用友软件V8.21版本在进行数据复制功能时候,在进行发布数据订阅时候,出现如下提示“未能去除对象,‘PURSETTLEVOUCH’,因为该对象正由一个FOREIGNKEY约束引用”分发代理信息“状态”栏为“失败”如下图片(二)问题原因分析用户利用821的数据复制功能实现用友财务数据的双机热备。1.询问用户在使用中是否存在异常的操作,发现以下现象,用户在进行软件操作时候,将源数据库与目标数据库指定颠倒,然后又修改了回来!2.就问题提示来看,FOREIGNKEY约束的定义是:外键(FK)是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。其在数据复制中有如下制约:SQLServer支持复制。如果约束针对源数据库,并且可能会不必要地阻止新数据输入到目的数据库中,则选择该选项以在复制期间禁用外键约束。3.这样看来由于用户曾经对数据库的源/目标关系进行过错误的设置,可能影响到了SQLServer2000中FROEIGNKEY约束对数据复制功能的限制,造成了如上错误。(三)解决步骤1.修改外键关系,去除FOREIGNKEY约束首先,打开“企业管理器”中问题数据库,在“关系图”中“新建数据库关系图”然后按照向导完成表的添加选择下一步,将问题现象中出现的表及其相关表“添加”到“要添加到关系图中的表”下一步被添加的表将在“关系图”中显示,继续下一步新建关系图完成,点击“完成”,在企业管理器中打开数据库,关系图中会出现关联的表鼠标右键响应的表,点击属性,在弹出的窗口中进行修改点击”关系”将”对复制强制关系”的复选框去除2.重新进行问题数据库的订阅及其发布操作略3.问题解决操作略此问题在用友软件U8管理软件V8.21上测试适用与SQL后台的用友软件数据复制功能!UFIDA