导致数据库损坏的原因有哪些,病毒感染会不会

导致数据库损坏的原因有哪些,病毒感染会不会,第1张

可能由病毒引起。

文件描述符关掉以后,继续使用这个文件描述符访问

打开文件,获取文件描述符fd(其实是一个整形)

关闭文件

打开sqlite文件,获取文件描述符(碰巧也是)fd

另一个线程继续使用fd,写文件

sqlite文件被损坏

在事务进行过程中,进行数据库备份或恢复

在数据库事务过程中,数据库文件既包括老的内容,也包括新的内容。如果此时拷贝这个文件,数据库可能会被损坏。 备份数据库最好使用sqlite的api。

删除日志文件

日志文件中包括rollback需要的信息。删除以后,无法正确回滚,有可能会导致数据库损坏。

遇到损坏或者错误的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数据库,使服务器至少能够启动。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6719963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存