数据库被删除了怎么恢复

数据库被删除了怎么恢复,第1张

数据库删除了数据是一个很棘手的问题,数据的删除首先包括三个层面:

1.删除放入回收站,没有在回收站中清除数据。这种情况是最简单的,进入回收站,找到删除的数据,右击选择恢复。

2.删除后未放入回收站或者删除后清空回收站,尽量先不要往原数据所在盘符下储存内容,刚刚删除的数据只是文件结构被删除,真正的文件数据还没被覆盖。通过数据恢复软件是可以找回来的,专业的软件例如有超级兔子数据恢复软件。

3.如果是删除很久以后才想到数据库数据要恢复,并且磁盘一直在使用,磁盘被填满的话数据就已经被覆盖了,这样的数据是无法找回的。

数据库被挂起了。你可以试一试用下面的方法恢复:

A.现象:Error 926

 Severity Level 14

 Error Message Text

 Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation

(1) 当你使用Transact_SQL命令 *** 作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误.

(2) 启动Backup Server, 后备master数据库

1>dump database master to "/usr/sybase/master_dump.19991201"

2>go

(3) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例)

1>sp_configure "allow updates", 1

2>go

1>begin tran

2>go

1>update master..sysdatabases

2>set status = -32768

3>Where name="pubs2"

4>go

如果得到(1 row affected),则

1>commit

2>go

否则

1>rollback

2>go

(4.1)如果条件允许,bcp out用户数据或dump用户数据库

(5.1)这时重新启动SQL Server, 再有sa帐号注册到SQL Server.

1>begin tran

2>go

1>update master..sysdatabases

2>set status=0

3>Where name="pubs2"

4>go

如果得到(1 row affected),则

1>commit

2>go

否则

1>rollback

2>go

1>sp_configure "allow updates" ,0

2>go

(4) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option..

(5) 运行dbcc命令检查数据库的一致性

isql -Usa -P -i dbcc.sql -o dbcc.out

dbcc.sql文件示例:

dbcc checkdb("pubs2")

go

dbcc checkalloc("pubs2")

go

dbcc checkcatalog("pubs2")

go

grep Msg dbcc.out

6) 后备用户数据库

1>dump database pubs2 on "/usr/sybase/pubs2_dump.19991201"

2>go

B.如何解决数据库被标记为"suspect"的问题之二( 数据库设备损坏时的解决方案 )?

A.现象: 926错误产生的原因有几种。本文讨论当数据库设备初始化失败( 设备文件丢失或文件读写权限不正确)时,导致数据库恢复失败,出现926错误的情况。

(1) 请先恢复数据库设备及读写权限。

(2) 启动Backup Server, 后备master数据库

1>dump database master to "/usr/sybase/master_dump.19991201"

2>go

3) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例)

1>sp_configure "allow updates", 1

2>go

1>begin tran

2>go

1>update master..sysdatabases

2>set status = status - 256

3>Where name="pubs2"

4>go

如果得到(1 row affected),则

1>commit

2>go

否则

1>rollback

2>go

(4) 重新启动SQL Server, 运行dbcc命令检查数据库的一致性编辑生成dbcc.sql文件:

dbcc checkdb("pubs2")

go

dbcc checkalloc("pubs2")

go

dbcc checkcatalog("pubs2")

go

isql -Usa -P -i dbcc.sql -o dbcc.out

grep Msg dbcc.out

(5) 后备用户数据库

1>dump database pubs2 on "/usr/sybase/pubs2_dump.19991201"

2>go

mysql数据库恢复方法:

方法一:

命令恢复数据库:

mysql -u root –password=root密码 数据库名 <备份文件.sql

方法二:

第一步:用管理员权限登录并进入后台管理界面,点“数据库->资料恢复”。

第二步:在数据恢复设置中选择“从本地文件”进行恢复,然后通过右边的“浏览”按钮找到之前保存下来的.sql文件。

第三步:点“提交”按钮后将出现询问“分卷数据成功导入数据库,需要自动导入本次其他的备份吗?”一般继续点“确定”按钮即可。之后的数据库文件就完全导入到当前网站了。这时出现再次要求输入管理员帐号的提示。访问网站地址时也会看到所有信息都恢复到备份数据库时的内容了。

小提示:

不管采取哪种方式备份和恢复数据库,一定要注意备份和恢复时使用的版本要相同,甚至是语言种类也要一致,否则会存在乱码的问题。


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

原文地址:https://54852.com/sjk/9533223.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存