+ -
当前位置:首页 → 问答吧 → SQLserver2005系统数据库还原和数据还原

SQLserver2005系统数据库还原和数据还原

时间:2010-11-02

来源:互联网

当系统数据库master损坏时恢复



首先,找一个SQL数据库服务器刚安装时的纯净master,将此数据库断开连接,如图

将数据库系统文件夹下的master.mdf和master.ldf两个文件拷贝到移动硬盘上,如图

模拟损坏的master数据库中保存了整个服务器中的信息,比如登录名,模拟恢复zhangsan用户,如图


首先,需要备份master数据库,如图

点击备份完成,如图


将SQL服务器中的系统文件下,删除master.mdf和master.ldf,模拟损坏,然后启动SQLserver服务,提示如下,不能启动SQL

将移动硬盘中的纯净master数据库文件复制到损坏的数据库文件夹下,如图


运行cmd,进入输入如下命令,进入系统数据库目录下,运行sqlservr.exe –c –m命令,进入单用户模式



成功进入单用户模式后,提示如下

打开SQL,点击“新建查询”进入(local)master模式






输入如下语句,恢复master数据库备份,如图


Restore
database master


from
disk='D:\Program
Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak'


还原后,启动SQLserver服务后,打开SQL,查看恢复结果,如图

当数据库文件被破坏,日志文件保持良好时,完全恢复数据库信息

首先,如果想恢复被损坏的数据,需要完整备份和事务日志备份。这样才可以完全恢复。


数据库必须处于完整恢复模式下,才会记录日志,才可以完成恢复,如图


首先,完整备份数据库,如图


选择benet数据库,备份类型为完整,如图所示

然后停用SQLserver服务,删除benet.mdf,模拟数据库数据损坏,如图,丢失所有数据




右击任意一个数据库,选择任务—备份,选择源为benet数据库,备份类型为事务日志,如图所示:

备份事务日志后,右击选择还原,设置源为benet,如图所示,点击确定

恢复完成后,丢失的benet数据库中的数据被恢复了





















数据录入错误时,恢复到出错前的状态

想要达到此要求,必须要求完整备份和事务日志备份的支持才可以恢复到任意时间段。
如图,新建表Table-3,然后做事务日志备份

过一段时间删除Table-3,如图

并且再次备份事务日志,如图

当我们想恢复删除的Table-3时,打开还原对话框,如图显示,仔细查看

我做过两次的事务日志备份,在对话框中都显示了出来,我们想恢复表Table-3,所以,只需要完整备份+第一次事务日志备份就可以,如图

点击选项,然后选择“覆盖现有数据库”和下面的“回滚日志……”如图

恢复完成

删除的表Table-3已经被恢复了



只要又事务日志的支持,就可以恢复到历史上任意一时刻。这样保证了数据的完整性。







作者: yulanfeng   发布时间: 2010-11-02

图都挂了。。。

作者: pikwong   发布时间: 2010-11-02