修复SQL大数据库MDF表出错解决速达软件不能修复和不能备份帐套现用图解文档格式.docx
- 文档编号:19071843
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:10
- 大小:300.11KB
修复SQL大数据库MDF表出错解决速达软件不能修复和不能备份帐套现用图解文档格式.docx
《修复SQL大数据库MDF表出错解决速达软件不能修复和不能备份帐套现用图解文档格式.docx》由会员分享,可在线阅读,更多相关《修复SQL大数据库MDF表出错解决速达软件不能修复和不能备份帐套现用图解文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
运软件行环境:
SQLSERVER2000SP4
速达V5V3.90ERP试用版
一:
不能修复或不能备份出错提示。
1:
不能修复分两种:
A:
不能修复帐套,也不能备份帐套;
B:
不能修复帐套,但能备份帐套。
下图1提示“帐套修复失败:
修复S_SALEDETAIL表时出错。
2:
不能备份只有一种:
既不能修复帐套,也不能备份帐套。
这里示范用到的为不能修复帐套,也不能备份帐套这种。
下图2提示“数据据库DBCC检查发现以下错误,不能备份。
表错误:
表“AA_BILLFLOW”,行的键缺少或无。
从上面两张图中描述,可以发现数据库中的两张表出错:
销售开单明细“S_SALEDETAIL”和底稿表“AA_BILLFLOW”。
经过分析:
发生表出错的主表为:
销售开单明细“S_SALEDETAIL”;
发生表出错的从表为:
底稿表“AA_BILLFLOW”;
发生表出错的辅表为:
系统日志表“AM_SYSLOG”。
第三张表修不修复对帐套修复和备份操作几乎没影响。
为更彻底处理出错的表,致远把系统日志表“AM_SYSLOG”也列入要修复SQL数据表中。
二:
如何发现SQL数据库中出错的表。
如何发现SQL数据库中出错的表,致远用底稿表“AA_BILLFLOW”、系统日志表“AM_SYSLOG”和销售开单明细“S_SALEDETAIL”3张表同时进行示范操作。
用DTS导出,从速达软件“SD0001”数据库导出表到临时数据库“致远”的过程省略。
方法可参阅我的博文
Excel表如何导入SQL数据表中──速达软件操作示范_致远_acoffe_新浪博客
这里只介绍从临时数据库“致远”导出到数据库“SD0001”的过程。
利用临时数据库“致远”中未经修复的SQL表导出,如果发现表导出出错,系统会自动提示,“有X个表复制失败”。
用DTS导出,首先创建临时数据库“致远”。
致远习惯用:
“
致远”作临时数据库代号。
只填临时数据库“致远”名称,其它均忽略。
临时数据库中致远已导入底稿表“AA_BILLFLOW”、系统日志表“AM_SYSLOG”和销售开单明细“S_SALEDETAIL”3张表。
选择“数据源”。
“数据源”为临时数据库“致远”。
3:
选择“导出目的”。
目的数据库为速达“SD31502_SD0001”。
4:
选择“从源数据库复制表”。
5:
选择“源表”。
“源表”为“AA_BILLFLOW”、“AM_SYSLOG”和“S_SALEDETAIL”3张表。
6:
提示“有X个表复制失败”。
这里实际提示“有3个表复制失败”。
三:
如何定位表出错的行所在位置。
经过步骤“二”系统已提示DTS导出表“出错”,“有3个表复制失败”。
现在你只要“双击错误行以获得对错误的详细描述”,提示“在目标的行号为X处出错”。
提示表“AA_BILLFLOW”“在目的行号为3359处出错。
不能在对象‘AA_BILLFLOW’中插入重复键。
提示表“AM_SYSLOG”“在目的行号为4445处出错。
不能在对象‘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”作同样操作,不再提示。
四:
利用临时数据库“致远”,对已找到的“”插入重复键的行进行修复。
进入SQL“企业管理器”--临时数据库“致远”—“表”--“AA_BILLFLOW”,删除表“AA_BILLFLOW”中“BILLID”为“537”的整行。
致远建议在SQL管理器中直接删除表“AA_BILLFLOW”中“BILLID”为“537”的整行。
利用EXCEL表的目的只是为了找到表“AA_BILLFLOW”中“行号为3359”的错误位置。
删除下图SQL表中带黑色的行。
用DTS导入临时数据库“致远”中已修复的表“AA_BILLFLOW”。
如果3张已全部修复,就可以合并导入。
步骤同上面“二”,只是步骤“二--4”:
“选择“从源数据库复制表””,改为选择“在SQLSERVER数据库之复制”,再增加选择“创建目的对象”—“包括扩展属性”,省略“二--5”和“二--6”两步,其它操作均相同。
导入“指定表复制”—选择“在SQLSERVER数据库之复制”。
选择“创建目的对象”--选择“包括扩展属性”,下一步继续执行就可以了。
五:
如果你熟悉SQL数据库也可以几张表同时导出导入,同时修改。
对不熟悉SQL的速友,致远还是建议你老老实实一张表一张表进行导出,再进行修复。
如果你选择导出整个数据库,那么与之相关的“出错表”有249张,你会看花眼,致远也不建议你这样操作。
上面提到的3张表关系到下图中提到的249张表,如果修复了关键的3张表,剩余的200多张表交给SQL来处理,SQL数据库会在帐套修复过程中自动进行修复,不必过于谨慎。
六:
3张已修复的表导入结束,重启电脑。
打开速达软件服务器进行“修复”帐套操作,“修复”帐套完成,就可以进行“备份”帐套操作了。
到此,完美修复SQL表出错,一切完好如初,大功告成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 修复 SQL 数据库 MDF 出错 解决 软件 不能 备份 帐套现用 图解