修复SQL数据库MDF表出错解决速达软件不能修复和不能备份帐套(图解)选读.doc

修复SQL数据库MDF表出错解决速达软件不能修复和不能备份帐套(图解)选读.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
修复SQL数据库MDF表出错--解决速达软件不能修复和不能备份帐套(图解)? 致远在“SQL Server无日志文件的恢复”中讲到:衡量数据恢复成功与否的标准:第一:能不能进行速达帐套的修复操作,第二:能不能进行速达帐套的备份操作,附合上述两个标准说明数据恢复成功。如不能修复或不能备份现象已出现,在修复或备份过程中系统会提示MDF“表出错”,该如何修复MDF“表出错”呢?下面将分步进行详细的介绍。对使用SQL数据库引擎的用友、金蝶等用户,如出现同类错误,同样能修复MDF“表出错”错误。 ????运软件行环境: ????SQL SERVER 2000 SP4 ???????速达 V5 V3.90 ERP 试用版???????一:不能修复或不能备份出错提示。 ????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

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档