1、运软件行环境:SQL SERVER 2000 SP4速达 V5 V3.90 ERP 试用版一:不能修复或不能备份出错提示。1:不能修复分两种:A:不能修复帐套,也不能备份帐套;B:不能修复帐套,但能备份帐套。下图1提示“帐套修复失败:修复S_SALEDETAIL表时出错。2:不能备份只有一种:既不能修复帐套,也不能备份帐套。这里示用到的为不能修复帐套,也不能备份帐套这种。下图2提示“数据据库DBCC检查发现以下错误,不能备份。表错误:表“AA_BILLFLOW”,行的键缺少或无。从上面两图中描述,可以发现数据库中的两表出错:销售开单明细“S_SALEDETAIL”和底稿表“AA_BILLFLO
2、W”。经过分析:发生表出错的主表为:销售开单明细“S_SALEDETAIL”;发生表出错的从表为:底稿表“AA_BILLFLOW”;发生表出错的辅表为:系统日志表“AM_SYSLOG”。第三表修不修复对帐套修复和备份操作几乎没影响。为更彻底处理出错的表,致远把系统日志表“AM_SYSLOG”也列入要修复SQL数据表中。二:如何发现SQL数据库中出错的表。如何发现SQL数据库中出错的表,致远用底稿表“AA_BILLFLOW”、系统日志表“AM_SYSLOG” 和销售开单明细“S_SALEDETAIL”3表同时进行示操作。用DTS导出,从速达软件“SD0001”数据库导出表到临时数据库“致远”的过
3、程省略。方法可参阅我的博文Excel表如何导入SQL数据表中速达软件操作示_致远_acoffe_新浪博客这里只介绍从临时数据库“致远”导出到数据库“SD0001”的过程。利用临时数据库“致远”中未经修复的SQL表导出,如果发现表导出出错,系统会自动提示,“有X个表复制失败”。用DTS导出,首先创建临时数据库“致远”。致远习惯用:“致远”作临时数据库代号。只填临时数据库“致远”名称,其它均忽略。临时数据库中致远已导入底稿表“AA_BILLFLOW”、系统日志表“AM_SYSLOG” 和销售开单明细“S_SALEDETAIL”3表。选择“数据源”。“数据源”为临时数据库“致远”。3:选择“导出目的
4、”。目的数据库为速达“SD31502_SD0001”。4:选择“从源数据库复制表”。5:选择“源表”。“源表”为“AA_BILLFLOW”、“AM_SYSLOG” 和“S_SALEDETAIL”3表。6:提示“有X个表复制失败”。这里实际提示“有3个表复制失败”。三:如何定位表出错的行所在位置。经过步骤“二”系统已提示DTS导出表“出错”,“有3个表复制失败”。现在你只要“双击错误行以获得对错误的详细描述”,提示“在目标的行号为 X 处出错”。提示表“AA_BILLFLOW”“在目的行号为3359处出错。不能在对象AA_BILLFLOW中插入重复键。提示表“AM_SYSLOG”“在目的行号为4
5、445处出错。不能在对象AM_SYSLOG中插入重复键。提示表“S_SALEDETAIL”“在目的行号为3318处出错。不能在对象S_SALEDETAIL中插入重复键。导出表“AA_BILLFLOW”,保存格式为EXCEL即可,找到“行号为3359”的行,记住图中红色部份:“BILLID”为“537”,“BILLCODE”为 “XSD-2014-12-12-0014”。下面进行其它操作还要用到“BILLID”和“BILLCODE”。致远已同时导出3表,见下图。系统日志表“AM_SYSLOG” 和销售开单明细“S_SALEDETAIL”作同样操作,不再提示。四:利用临时数据库“致远”,对已找到的
6、“”插入重复键的行进行修复。进入SQL“企业管理器”-临时数据库“致远”“表”-“AA_BILLFLOW”,删除表“AA_BILLFLOW”中“BILLID”为“537”的整行。致远建议在SQL管理器中直接删除表“AA_BILLFLOW”中“BILLID”为“537”的整行。利用EXCEL表的目的只是为了找到表“AA_BILLFLOW”中“行号为3359”的错误位置。删除下图SQL表中带黑色的行。用DTS导入临时数据库“致远”中已修复的表“AA_BILLFLOW”。如果3已全部修复,就可以合并导入。步骤同上面“二”,只是步骤“二-4”:“选择“从源数据库复制表”,改为选择“在SQL SERVE
7、R数据库之复制”,再增加选择“创建目的对象”“包括扩展属性”,省略“二-5”和“二-6”两步,其它操作均相同。导入“指定表复制”选择“在SQL SERVER数据库之复制”。选择“创建目的对象”-选择“包括扩展属性”,下一步继续执行就可以了。五:如果你熟悉SQL数据库也可以几表同时导出导入,同时修改。对不熟悉SQL的速友,致远还是建议你老老实实一表一表进行导出,再进行修复。如果你选择导出整个数据库,那么与之相关的“出错表”有249,你会看花眼,致远也不建议你这样操作。上面提到的3表关系到下图中提到的249表,如果修复了关键的3表,剩余的200多表交给SQL来处理,SQL数据库会在帐套修复过程中自动进行修复,不必过于谨慎。六:3已修复的表导入结束,重启电脑。打开速达软件服务器进行“修复”帐套操作,“修复”帐套完成,就可以进行“备份”帐套操作了。到此,完美修复SQL表出错,一切完好如初,大功告成。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1