sqlserver2000数据库置疑_sql2008数据库置疑

sqlserver2000数据库置疑_sql2008数据库置疑解决由于sql2000日志文件引起的“置疑”。日志有错误——–重新附加提示日志有错误。日志文件丢失—–丢失了.ldf文件,只有.mdf文件的数据库重建。 步骤:一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。 二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

解决由于sql2000日志文件引起的“置疑”。

日志有错误——–重新附加提示日志有错误。

日志文件丢失—–丢失了.ldf文件,只有.mdf文件的数据库重建。

 

步骤:

一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。

 

二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。

 

三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。

 

四、停止数据库服务器。

 

五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

 

六、启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。

 

七、设置数据库允许直接操作系统表。此操作可以在企业管理器(SQL Server Enterprise Manager)里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。   

  use master  
  go  
  sp_configure  ‘allow updates’,1  
  go    
  reconfigure with override  
  go

 

八、设置test为紧急修复模式 。 
  update sysdatabases set status=-32768 where dbid=DB_ID(‘test’)   
此时可以在企业管理器(SQL Server Enterprise Manager)里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表。

 

九、下面执行真正的恢复操作,用dbcc rebuild_log命令来重建数据库日志文件(重建路径根据你实际的数据库路径来)。   
  dbcc rebuild_log(‘test’,’C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf’)

执行过程中,如果遇到下列提示信息:  
  服务器: 消息 5030,级别 16,状态 1,行 1  
  未能排它地锁定数据库以执行该操作。  
  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在八步骤中使用企业管理器打开了test库的系统表,那么退出企业管理器就可以了。  
  正确执行完成的提示应该类似于:  
  警告: 数据库 ‘test’ 的日志已重建。已失去事务的一致性。应运行   DBCC   CHECKDB   以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。  
  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
  
  此时打开在企业管理器里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

 

十、验证数据库一致性。(次步骤可省略)
  dbcc checkdb(‘test’)  
  一般执行结果如下:  
  CHECKDB  发现了 0 个分配错误和 0 个一致性错误(在数据库 ‘test’中)。  
  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

 

十一、设置数据库为正常状态  
  sp_dboption ‘test’,’dbo use only’,’false’
  如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

 

十二、最后一步,我们要将步骤七中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在企业管理器里面恢复,也可以使用如下语句完成  
  sp_configure ‘allow updates’,0  
  go    
  reconfigure with override  
  go

 

对于只有.mdf文件的sql2000数据库恢复,从第三步开始做就行了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171260.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号