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数据库恢复,从第三步开始做就行了。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TP传输的两种模式

    TP传输的两种模式

    2021年9月23日
  • idea热部署(JRebel实现)

    idea热部署(JRebel实现)idea热部署(JRebel实现)1.安装JRebel插件//1.File->Settings->Plugins->搜索JRebel插件//2.搜索的时候可能任何插件都搜索不到,可以百度查找设置httpProxy配置配置JRebel插件//1.在左下角的JRebel菜单栏找到JRebel插件然后将需要热更新的项目打上对勾即可。启动项目//1.配置完成后使用JRebel按钮进行启动项目,配置成功日志框中会显示JRebel相关的日志信息。

    2022年6月16日
  • h5页面 请在微信客户端打开链接_完美解决 请在微信客户端打开链接

    h5页面 请在微信客户端打开链接_完美解决 请在微信客户端打开链接原标题:完美解决请在微信客户端打开链接背景描述相信有模拟微信页面请求的测试都有看到过这个页面,简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面。大概在1年前,专门安排了一个人去解决这个技术问题,遗憾的是当时没有找到解决方案,接下来所有微信端的接口测试和性能测试都无法进行,今天和大家分享下我们的解决方案,希望大家可以绕过微信的坑。业务场景我这里以JMeter来举例,我们可以通过在JMet…

    2022年6月8日
  • CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解

    CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解CentOS7默认数据库是mariadb,但是好多用的都是mysql,但是CentOS7的yum源中默认好像是没有mysql的。上一篇安装的是5.6的但是我想安装5.7的yum安装是最简单的尝试过编译安装各种问题,最后就决定用yum。(经过一段时间的学习又写了一篇用源码安装mysql5.7.22的点击打开链接)1.卸载先停掉mysql进程没有安装过的可以直接跳过…

    2022年6月11日
  • 图片加载失败后显示默认图片

    图片加载失败后显示默认图片加载失败后显示默认图:<img:src=”`${img}.png`”onerror=”javascript:this.src=’logo.png'”/>也可以在图片加载失败后弹出提示:<imgsrc=”image.gif”onerror=”alert(‘图片不能被加载。’)”>扩展小知:img除了支持加载失败的回调,也支持加载中断及加载成功的回调。用法:onabort:<imgsrc=”image_w3default.gif”onabort

    2022年5月28日
  • 达梦数据库_达梦的数据库什么水平

    达梦数据库_达梦的数据库什么水平达梦(DM8)数据库由实例和数据库共同组成。实例由一组正在运行的后台进程及其所fork出的一系列线程和分配内存组成。数据库是由一系列存放在操作系统上的文件组成。体系结构图大致为:本文只要针对体系结构中的实例,也就是达梦(DM8)数据库中内存结构与线程结构进行介绍。1.内存池达梦(DM8)实例内存池包括运行时内存和共享内存池组成,可以通过查询动态视图V$MEM_POOL查看当前数据库系统中所有内存池的状态:1.1共享内存池数据库运行时的主要内存池,由数据库参数文件dm.ini中的参数MEMO

    2022年10月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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