SQL数据库专业修复实例.pptx_第1页
SQL数据库专业修复实例.pptx_第2页
SQL数据库专业修复实例.pptx_第3页
SQL数据库专业修复实例.pptx_第4页
SQL数据库专业修复实例.pptx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

SQL数据库专业修复,成果展现 SQL 数据库修复,用友通从发版到现在,十年的时间,全国目前有超过100万的客户群体。而且这个数字将会更快不断的增长。 在日常的支持工作中,经常会接到伙伴反馈,由于各种原因造成客户帐套数据库置疑和一致性错误,从而造成软件不能正常使用,严重的甚至会导致客户的数据整体损坏丢失的情况。,SQL数据库损坏主要是由以下几种原因引起的: 1、突然断电,非正常关机,造成日志和事务损坏; 2、硬件问题,特别是硬盘问题,造成日志和数据文件损坏; 3、硬盘的空间不够,如日志文件过大。 4、系统中毒,造成日志和数据文件损坏,数据修复服务流程,目前数据损坏问题,要求伙伴在支持网站()提交问题及相关数据;所有的数据损坏问题都必须在支持网站提交;工程师在电话、邮件中收到的关于数据修复的问题,请告知伙伴在后台提交问题。 工程师处理支持网站数据损坏问题;使用支持网站维护工具中的SQL 数据库检测修复工具(编号9005)进行修复,具体修复步骤请参照数据库置疑和一致性错误解决办法.doc,数据修复方法,这种数据修复主要是针对数据库中三张系统表sysindexes ,sysobjects ,syscolumns 损坏, SQL数据检测修复工具无法修复的情况,按照服务支持总部目前的流程,是转由数据库修复部门进行专业付费修复,需要客户确认是否进行付费修复。,数据修复方法,首先使用SQL数据库检测修复工具尝试进行修复检测数据库(仅检测) 提示:数据库 UFDATA_888_2011 在 sysobjects、sysindexes、syscolumns 或 systypes 中存在一致性错误,妨碍了进一步的 CHECKDB 处理。 然后点击修复3张系统表,修复到syscolumns表时提示错误信息如下:,数据修复方法,二、系统表损坏,无法使用工具继续进行修复, 进入查询分析器,执行修复语句如下: use UFDATA_888_2011 -目标数据库 dbcc checkdb -检测数据库 sp_dboption UFDATA_888_2011,single user,true -将目标数据库置为单用户状态 go dbcc checktable(syscolumns,repair_rebuild) -修复重建表 go sp_dboption UFDATA_888_2011,single user,false -将目标数据库置为多用户状态 go 如果修复表始终不成功,修复重建表可以替换使用以下: dbcc checktable(syscolumns,repair_allow_data_loss) -允许数据丢失的重建表(谨慎使用),数据修复方法,在SQL查询分析器中执行修复表脚本如下图:通过对比SQL修复工具和SQL脚本执行的结果,均提示:CREATE UNIQUE INDEX 终止,因为发现了索引 ID 1 的重复键。最重要的主键为 1256391545。,数据修复方法,通过提示的主键ID ,可以在系统对象表(sysobjects)确认错误的表名,然后修复相应的表或者drop掉出错的表(前提是必须要先确认表中是否存在数据)。 select * from sysobjects where id=1256391545 drop table CA_OnPQu -xtype是表类型,数据修复方法,继续执行修复syscolumns 脚本,发现还提示:CREATE UNIQUE INDEX 终止,因为发现了索引 ID 1 的重复键。最重要的主键为 1257823593。,数据修复方法,按照之前处理的办法,根据提示的主键ID,还存在两张重复主键的表,修复或者drop掉相应的表: select * from sysobjects where id=1257823593 drop proc dt_displayoaerror select * from sysobjects where id=1259203586 drop view Salse_DXFHTH_T,数据修复方法,继续执行修复syscolumns 脚本,发现该系统表修复正常了,如下图:,数据修复方法,将之前drop掉的表,视图和存储过程重新创建即可。表可以参照其他正常的帐套重新导入下表: select * into CA_OnPQu from UFDATA_999_2008 CA_OnPQu where 1=0,数据修复方法,三、使用工具进行修复数据库操作,发现还有如下错误信息: 未能找到名为 mxzmonth169379HLZG3ALQITVEDHJ0 的表或对象。请检查 sysobjects。,根据错误的提示,drop掉错误的临时表,如下: drop table mxzmonth169379HLZG3ALQITVEDHJ0 drop table mxzmonth849967HLZG3ALQITVEDHJ0,数据修复方法,继续执行修复数据库操作,提示如下:违反了 PRIMARY KEY 约束 GL_cashtable_PK。不能在对象 GL_CashTable 中插入重复键。,工具中修复当前数据库所有用户表或者dbcc checkdb,提示如下:在GL_CashTable 表中i_id (268,269,270)键缺少或无效。,数据修复方法,查询分析器中打开表GL_CashTable,发现唯一主键i_id在268,269,270确实存在重复键值。右键点击删除,去掉重复的记录即可。(其中一条有索引的记录可以正常删除,剩余一条记录需要修复成功后再进行删除,否则删除将报错),数据修复方法,切记反复进行修复数据库操作,直到提示没有一致性错误为止,修复所有用户表以及重建索引,该数据库损坏就修复成功了,修复后可以进入软件中进行操作验证,最后在系统管理中备份修复成功的数据即可。,数据修复方法,数据修复是不能保证100%的修复率,可以尝试修复,而且数据修复过程中有可能会造成部分数据丢失。 系统对象表(sysobjects)损坏的话,可能只能通过导表的方式,如:未能读取并闩锁页 (1:1498)(用闩锁类型 SH)sysob

温馨提示

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

评论

0/150

提交评论