请百度搜索数据恢复关键词找到我们!

推荐资讯

数据库修复


  仅有日志文件的数据修复处理示例。sql  USE master   --创建数据库  CREATE DATABASE db ON PRIMARY(      NAME="db_data",      FILENAME= "c:\db_data.mdf‘) LOG ON(      NAME="db_log",      FILENAME ="c:\db.ldf’) GO   --创建表  CREATE TABLE db.dbo.ta(id int)  INSERT db.dbo.ta SELECT id FROM sysobjects GO  --做文件组备份  BACKUP DATABASE db TO DISK="c:\db.bak" WITH FORMAT   --备份后,再做数据处理  CREATE TABLE db.dbo.tb(id int)  INSERT db.dbo.tb SELECT id FROM sysobjects GO   /*--下面演示了破坏数据文件的处理,这些操作在操作系统中进行   1. 停止SQL Server服务(msqlserver服务) 2. 删除文件 c:\db_data.ndf (模拟破坏) 3. 重新SQL Server服务,此时数据库DB置疑 --*/ GO   --下面演示了如何恢复数据 --首先要备份当前日志  BACKUP LOG db TO DISK="c:\db_log.bak" WITH FORMAT,NO_TRUNCATE --利用文件组备份恢复破坏的文件  RESTORE DATABASE db FROM DISK="c:\db.bak" WITH NORECOVERY --还原到日志点  RESTORE LOG db FROM DISK="c:\db_log.bak" WITH RECOVERY --显示已经恢复的数据  SELECT COUNT(*) FROM db.dbo.ta SELECT COUNT(*) FROM db.dbo.tbGO   --删除测试 DROP DATABASE db    

  无数据库日志文件恢复数据库方法两则

  方法一  

  1.新建一个同名的数据库  

  2.再停掉sql server(注意不要分离数据库)  

  3.用原数据库的数据文件覆盖掉这个新建的数据库  

  4.再重启sql server  

  5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)  

  6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用  数据库的脚本创建一个新的数据库,并将数据导进去就行了。  

  USE MASTER GO   SP_CONFIGURE "ALLOW UPDATES",1 RECONFIGURE WITH OVERRIDE GO   UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=‘置疑的数据库名" Go   sp_dboption ’置疑的数据库名‘, "single user", "true" Go   DBCC CHECKDB(’置疑的数据库名‘)  Go   update sysdatabases set status =28 where name=’置疑的数据库名‘ Gosp_configure "allow updates", 0 reconfigure with override Go    sp_dboption ’置疑的数据库名‘, "single user", "false" Go  

  方法二  

  1,把数据库设置为emergency mode    

  2,重新建立一个log文件  

  3,把SQL Server 重新启动一下  

  4,把应用数据库设置成单用户模式  

  5,做DBCC CHECKDB  

  6,如果没有什么大问题就可以把数据库状态改回去了,记得别忘了把系统表的修改选项关掉  

  我实践了一下,把应用数据库的数据文件移走,重新建立一个同名的数据库XXX,然后停掉SQL服务,把原来的数据文件再覆盖回来。之后,按照怡红公子的步骤走。  

  但是,也很遗憾,除了第2步之外,其他步骤执行非常成功。可惜,重启SQL Server之后,这个应用数据库仍然是置疑!  

  不过,让我欣慰的是,这么做之后,倒是能够Select数据了,让我大出一口气。只不过,组件使用数据库时,报告说:“发生错误:-2147467259,未能在数据库 "XXX" 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。” 最终成功恢复的全部步骤 设置数据库为紧急模式 停掉SQL Server服务;把应用数据库的数据文XXX_Data.mdf移走;重新建立一个同名的数据库XXX;停掉SQL服务;把原来的数据文件再覆盖回来。


在线客服
技术QQ技术QQ
在线客服:
15675519624

请扫描二维码
打开手机站

[向上]