SqlServer非正常删除(误删)数据库如何紧急修复

SqlServer2000非正常删除(误删)LOG数据文件后数据库紧急修复方法,本文已一个实际例子来展示恢复过程,下文中涂改的部分均为内部内容,涂改的数据库名均表示为returndate,各位在实际恢复时则使用现场实际数据库表命名即可。
用于存储的数据文件的可用空间为0,由于没有足够的磁盘存储数据库日志文件,无法备份,并执行分离数据库失败,告警提示空间不足,附件数据库时提示: 提示设备激活错误。只能删除数据库LDF文件,然后紧急修复。
由于数据日志文件产生巨大和数据库设置有关,修改数据库自动收缩配置,便于后续维护。

操作方法

  • 01

    1.   非正常删除log数据文件恢复过程 由于空间不足数据库备份无法执行,分离数据库,删除数据库事物日志,无法附加数据库,提示设备激活错误。 使用returndate.mdf数据库文件恢复数据库: Ø  建立一个数据库returndate,停止数据库服务。 Ø  将创建数据库后生成的数据库的日志文件returndate_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件returndate_data.mdf。 启动数据库服务。此时会看到数据库returndate的状态为“置疑”。这时候不能对此数据库进行任何操作。如图:

  • 02

    Ø  设置数据库允许直接操作系统表。 use master go sp_configure 'allow updates',1 go reconfigure with override go Ø  设置returndate为紧急修复模式,如图:

  • 03

    update sysdatabases set status=-32768 wheredbid=DB_ID('returndate') Ø  下面执行真正的恢复操作,重建数据库日志文件 Dbcc  rebuild_log ('returndate','D:\ProgramFiles\MicrosoftSQL Server\MSSQL\Data\returndate_log.ldf') 提示警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。 Ø  验证数据库一致性 dbcc checkdb('returndate') 如图:

  • 04

    Ø  设置数据库为正常状态 sp_dboption 'returndate','dbo useonly','false' 没有出错。 Ø  数据库允许直接操作系统表设置恢复, use master go sp_configure 'allow updates',0 go reconfigure with override go 如图:

  • 05

    Ø  恢复成功.如图:

  • 06

    Ø  由于数据日志文件产生巨大和数据库设置有关,在数据属性-故障还原:模型由完全修改为简单,设置项里勾选上残缺页检测,自动收缩。如图:

(0)

相关推荐

  • centos7如何进入紧急修复模式?

    centos7如何进入紧急修复模式? 打开centos7页面出现: welcome to emergency mode!after logging in ,type "journalctl ...

  • 微软发布Win7 SP1/Win2008 R2紧急修复补丁KB4099950:修复网卡问题(附下载地址)

    4月4日消息 据相关媒体报道,微软日前面向Win7 SP1和Win2008 R2发布了新的紧急修复补丁(补丁编号为KB4099950),并在该补丁中纠正了新建网络适配器(NIC)替代现有网卡作为默认设 ...

  • 如何删除iPhone手机SOS紧急联系人

    SOS紧急联络是iPhone手机推出的紧急呼救功能,有些用户想知道如何删除iPhone手机SOS紧急联系人,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步打开手机中的[设置]Ap ...

  • 彻底删除mysql数据库

    mysql数据库是当今比较流行的数据库之一,尤其在学习php之类时需要配置,初学者一旦配置错误,将其重新卸载的时候如果删除不干净,是很难在安装成功的.今天就以自己的亲手实践展示如何彻底删除mysql数 ...

  • 如何删除MySQL数据库

    想要删除MySQL数据库,你需要使用根用户或带有删除权限的用户账户.在MySQL终端中输入"mysql -u 这里是你的用户名 -p",如果需要的话输入密码,然后用"DR ...

  • 如何删除Grub启动菜单来修复Windows7系统

    一般安装Ubuntu的系统的时候需要卸载Windows系统,这样用起来系统很流畅,而不是使用虚拟机来带动,如果电脑上安装了Windows7和Ubuntu双系统,同时不想通过恢复出厂设置的方式恢复Win ...

  • 怎么删除Oracle数据库中的用户实例?

    Oracle数据库使用过程中,针对系统都会建立独立的数据库用户,但有些时候处于测试或别的原因需要删除,原来的DB用户,这时我们可以使用下面的办法. 操作方法 01 通过在开始输入cmd,进入Dos命令 ...

  • 删除Access数据库中的空记录

    操作方法 01 用零长度字符指示不存在数据 若要在 Microsoft Access 数据库中指示不存在数据,可以在"文本"或"备注"字段输入零长度字符串 (零 ...

  • 微软发布KB4010250补丁 紧急修复Win10严重Bug

    由于在最后一分钟发现了严重Bug,微软意外延期了上周Patch Tuesday(周二补丁日)的更新.这在历史上还是首次,当时微软只是说暂时无法解决一个严重问题,导致推送延期,现在终于水落石出. 据了解 ...