6:提示“有X个表复制失败”。这里实际提示“有3个表复制失败”。
三:如何定位表出错的行所在位置。
经过步骤“二”系统已提示DTS导出表“出错”,“有3个表复制失败”。 1:现在你只要“双击错误行以获得对错误的详细描述”,提示“在目标的行号为 X 处出错”。
提示表“AA_BILLFLOW”“在目的行号为3359处出错。不能在对象‘AA_BILLFLOW’中插入重复键。
提示表“AM_SYSLOG”“在目的行号为4445处出错。不能在对象‘AM_SYSLOG’中插入重复键。
提示表“S_SALEDETAIL”“在目的行号为3318处出错。不能在对象‘S_SALEDETAIL’中插入重复键。
2:导出表“AA_BILLFLOW”,保存格式为EXCEL即可,找到“行号为3359”的行,记住图中红色部份:“BILLID”为“537”,“BILLCODE”为 “XSD-2014-12-12-0014”。下面进行其它操作还要用到“BILLID”和“BILLCODE”。致远已同时导出3张表,见下图。
系统日志表“AM_SYSLOG” 和销售开单明细“S_SALEDETAIL”作同样操作,不再提示。
四:利用临时数据库“致远”,对已找到的“”插入重复键的行进行修复。
1:进入SQL“企业管理器”--临时数据库“致远”—“表”--“AA_BILLFLOW”,删除表“AA_BILLFLOW”中“BILLID”为“537”的整行。致远建议在SQL管理器中直接删除表“AA_BILLFLOW”中“BILLID”为“537”的整行。利用EXCEL表的目的只是为了找到表“AA_BILLFLOW”中“行号为3359”的错误位置。删除下图SQL表中带黑色的行。
2:用DTS导入临时数据库“致远”中已修复的表“AA_BILLFLOW”。如果3张已全部修复,就可以合并导入。步骤同上面“二”,只是步骤“二--4”:“选择“从源数据库复制表””,改为选择“在SQL SERVER数据库之复制”,再增加选择“创建目的对象”—“包括扩展属性”,省略“二--5”和“二--6”两步,其它操作均相同。
A:导入“指定表复制”—选择“在SQL SERVER数据库之复制”。
B:选择“创建目的对象”--选择“包括扩展属性”,下一步继续执行就可以了。
五:如果你熟悉SQL数据库也可以几张表同时导出导入,同时修改。对不熟悉SQL的速友,致远还是建议你老老实实一张表一张表进行导出,再进行修复。如果你选择导出整个
数据库,那么与之相关的“出错表”有249张,你会看花眼,致远也不建议你这样操作。上面提到的3张表关系到下图中提到的249张表,如果修复了关键的3张表,剩余的200多张表交给SQL来处理,SQL数据库会在帐套修复过程中自动进行修复,不必过于谨慎。
六:3张已修复的表导入结束,重启电脑。打开速达软件服务器进行“修复”帐套操作,“修复”帐套完成,就可以进行“备份”帐套操作了。到此,完美修复SQL表出错,一切完好如初,大功告成。