数据库损坏
① master数据库损坏的解决办法有哪些
遇到损坏或者错误的master数据库是最难解决情况之一。
Master数据库包含了sql Server需要的关键信息。如果master数据库出错,那么SQL Server就不能启动。要在这种情况下还原master数据库,可以按照下面这些步骤来从灾难中恢复过来:
1. 使用\PRogram Files\Microsoft SQL Server\80\Tools\Binn目录下的rebuidm.exe文件重建master数据库。重建master数据库可以使数据库文件完整无缺。为以防万一,经常把数据和日志文件备份到一个单独的目录是个不错的主意。
2. 使用-m参数启动SQL Server,这样可以以单用户模式重新启动SQL Server。
3. 从最近一次已知最好的备份来还原master数据库。
4. 核实master数据库是不是已经成功还原:确认所有数据库都已恢复正常运行。从最近一次已知最好的备份来还原msdb数据库。
5. 以普通模式停止和启动SQL Server。
6. 向生产用户开放数据库。
如果这样做没有效,那么重建master数据库然后附加这个数据库。master数据库出现问题,那么服务器上所有的数据库都会出现问题。
总的来说,恢复时要完成的第一个步骤就是安装一个新的master数据库,使服务器至少能够启动。
② 数据库损坏了怎么办
有的时候因为掉电或者其他原因导致数据库损坏,我们可以使用mysql自带的mysqlcheck命令来快速修复所有的数据库或者特定的数据库;例如
检查优化并修复所有的数据库用:
# mysqlcheck -A -o -r -p
Enter password:
database1 OK
database2 OK
----------
修复指定的数据库用
# mysqlcheck -A -o -r Database_NAME -p
即可
另外如果只是对某个表进行修复可以用:myisamchk或isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是 /var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而 pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
1,简单的修复模式
myisamchk -r -q path/数据库/坏表.MYI
注:-r ----恢复模式 -q ----快速修复
2,使用安全修复模式
myisamchk --safe-recover path/数据库/坏表.MYI
3,困难的修复模式
如果在索引文件的第一个16K块被破坏,或包含不正确的信息,或如果索引文件丢失,你只应该到这个阶段 。在这种情况下,创建一个新的索引文件是必要的。按如下这样做:
把数据文件移更安全的地方。
使用表描述文件创建新的(空)数据和索引文件:
shell> mysql db_name
mysql> Delete FROM tbl_name;
mysql> quit
将老的数据文件拷贝到新创建的数据文件之中。(不要只是将老文件移回新文件之中;你要保留一个副本以防某些东西出错。)
回到阶段2。现在myisamchk -r -q应该工作了。(这不应该是一个无限循环)。
4,非常困难的修复模式
只有描述文件也破坏了,你才应该到达这个阶段。这应该从未发生过,因为在表被创建以后,描述文件就不再改变了。
从一个备份恢复描述文件并且回到阶段3。你也可以恢复索引文件并且回到阶段2。对后者,你应该用myisamchk -r启动。
如果你没有一个备份但是确切地知道表是怎样被创建的,在另一个数据库中创建表的一个拷贝。删除新的数据文件,然后从其他数据库将描述和索引文件移到破坏的数据库中。这给了你新的描述和索引文件,但是让数据文件独自留下来了。回到阶段2并且尝试重建索引文件。
5,优化表结构
myisamchk -r 表
也可以使用sql语句来优化OPTIMIZE TABLE
本方法参考自mouse博客
③ 为什么无缘无故出现数据库损坏
TX服务器的问题。等下应该就正常了。。。。如果老是这样,建议你用超级兔子修复下IE。。。
已经提示了服务器在维护,就是服务器的问题,不管你浏览器的事。。
④ SQL数据库文件损坏,怎么修复
如果只是BLACK.LST丢失或损坏应该可以进行更新来修复,因为更新的时候一部分就是在更新此文件...如果无法更新,无须完全卸载,直接重新装下,覆盖下即可
⑤ 跪求,我的MySQL数据库损坏了,怎么修复啊
mysqlcheck -a -c -o -r database table -uroot -p
-p后是密码
⑥ SQL Server的数据库损坏了怎么办
这个问题到目前为止(2008/11/25)共有2位客户遇到,当时的状况是:Outlook能够正常收发邮件,但Webmail访问时一点登录就出现上述错误信息。 为什么数据库会损坏? 这个原因会有很多,例如突然断电、磁盘坏了等,具体到您这里是什么原因,这得要问微软公司才能知道了。DB Mail Server只是通过ADO标准接口来访问数据库,用的是标准的SQL语句,没有任何对数据库进行破坏性的操作。DB Mail Server的可能就就在于访问数据库的量会大一些,类似于BT下载多了硬盘可能出错一样。 第1步. 关闭目前的DBMail. 假设目录在C:DBMailPro. 第2步. 按如下的指导,再安装一个新的DBMail: 1) 运行 dbmailsetup.exe安装包, 安装到C:DBTemp. 2) 运行C:DBTemp下的aamailsvr.exe,此时会显示初次设置向导。 3) 在向导中选择SQL已经安装, 在输入SQL参数时, 选中"改变缺省参数". 4) 把数据库名称改为 dbmail,这时数据库文件会为C:DBTempdbsdbmail.mdf. 5) 下一步,取消“启动Webmail”. 6) 下一步至安装完成,启动主界面, 然后退出。 第3步. 进入SQL Server企业管理器,将有dbmail数据库,下面进行数据复制: 1) 右键选择dbmail数据库,选择任务中的DTS数据导入. 2) 选择从dbmailpro导入数据,用Windows集成验证模式. 3) 选择表=>表的复制方式,选择全部表,复制并覆盖数据. 4) 执行数据复制. 第4步.在SQL企业管理器中,右键选择dbmail数据库,执行“任务=>分离”,把dbmail数据库分离。 第5步.把C:DBTempdbsdbmail.mdf和dbmail.ldf移动到C:DBMailProdbs目录中. 第6步. 打开C:DBMailProaamailsvr.ini文件, 修改[Database]段中以下值: DatabaseName = dbmail DatabaseFile = c:DBMailProdbsdbmail.mdf 第7步. 在企业管理器中, 选择“任务=>附加”,附加入C:DBTempdbsdbmail.mdf. 第8步. 启动C:DBMailPro下的aamailsvr.exe,此时DBMail应该能够正常运行了。 第9步. 恢复成功,最后进行清理: 1) C:DBTemp文件夹可以全部删除.
⑦ 数据库损坏怎么修复
access提供了压缩和修复数据库功能,可尝试用该功能修复,以access2010为例方法如下:
1、启动access2010,点击数据库工具选项卡--压缩和修复数据库命令;
2、浏览窗口选定要修复的数据库,点击打开;
3、输入修复后数据库的名称,点击保存;
4、打开修复后的数据库,查看修复效果。
⑧ 如何修复MYSQL数据库因断电造成的数据损坏
修复MYSQL数据库因断电造成的数据损坏在使用MySQL数据库的时候,都碰到过因断电造成数据库损坏的情况,大家都知道,断电或非正常关机是导致MySQL数据库出现错误最常见的原因,如何恢复MySQL数据库是大家都非常头痛的问题。目前有方法可以帮助大家恢复损坏的MySQL数据库吗?当用户出现断电造成的MySQL数据库丢失损坏时,如果能进入MySQL软件,但是提示错误信息,用户可以通过“系统维护”—“数据库压缩修复”,压缩下数据库(有些软件在“系统设置”—“系统维护”—“数据库备份恢复”中),这种方法只适合一小部分的数据库故障修复,功能性并不高。现在网络上有两种比较推荐使用的MySQL数据库恢复方法,一种方法使用MySQL(和PHP搭配之最佳组合)的check table和repair table 的sql语句,另一种方法是使用MySQL(和PHP搭配之最佳组合)提供的多个myisamchk, isamchk数据检测恢复工具。在很多用户看来,这两个方法都比较复杂,并不适合大多数的用户使用。另外,这两种方法并不能有效的恢复MySQL数据库,可能还会造成数据库被进一步损坏,造成大家无法挽回的损失。根据以上几个原因,这两种MySQL数据库恢复方法并不建议大家使用。。数据库被损坏分以下几种情况:1、严重损坏2、轻度损坏3、有些表被损坏或有些表的部分记录被损坏如何修复MYSQL数据库因断电造成的数据损坏
⑨ 微信出现数据库损坏是什么意思
微信数据库损坏,这是由于你的操作系统和该版本的微信不兼容或者你的微信软件有损坏。
如果确定损坏的数据则需要第三方的软件去修复,目前可以修复的软件还是很多的,苹果应用商店就可以直接下载。