修复SQL数据库MDF表出错--解决速达软件不能修复和不能备份帐套(图解).doc_第1页
修复SQL数据库MDF表出错--解决速达软件不能修复和不能备份帐套(图解).doc_第2页
修复SQL数据库MDF表出错--解决速达软件不能修复和不能备份帐套(图解).doc_第3页
修复SQL数据库MDF表出错--解决速达软件不能修复和不能备份帐套(图解).doc_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

修复SQL数据库MDF表出错-解决速达软件不能修复和不能备份帐套(图解)致远在“SQL Server无日志文件的恢复”中讲到:衡量数据恢复成功与否的标准:第一:能不能进行速达帐套的修复操作,第二:能不能进行速达帐套的备份操作,附合上述两个标准说明数据恢复成功。如不能修复或不能备份现象已出现,在修复或备份过程中系统会提示MDF“表出错”,该如何修复MDF“表出错”呢?下面将分步进行详细的介绍。对使用SQL数据库引擎的用友、金蝶等用户,如出现同类错误,同样能修复MDF“表出错”错误。运软件行环境:SQL SERVER 2000 SP4速达 V5 V3.90 ERP 试用版一:不能修复或不能备份出错提示。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_新浪博客/s/blog_610f242e0102v5ep.html这里只介绍从临时数据库“致远”导出到数据库“SD0001”的过程。利用临时数据库“致远”中未经修复的SQL表导出,如果发现表导出出错,系统会自动提示,“有X个表复制失败”。1:用DTS导出,首先创建临时数据库“致远”。致远习惯用:“致远”作临时数据库代号。只填临时数据库“致远”名称,其它均忽略。临时数据库中致远已导入底稿表“AA_BILLFLOW”、系统日志表“AM_SYSLOG” 和销售开单明细“S_SALEDETAIL”3张表。2:选择“数据源”。“数据源”为临时数据库“致远”。3:选择“导出目的”。目的数据库为速达“SD31502_SD0001”。4:选择“从源数据库复制表”。5:选择“源表”。“源表”为“AA_BILLFLOW”、“AM_SYSLOG” 和“S_SALEDETAIL”3张表。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多张表交

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论