【MSSQL】MSSQL还原单mdf文件报1813错误

 序:
  MS SQL Server 2008 r2附加无ldf日志的mdf数据库时报1813错误。提示数据库被强制分离,无日志不能还原之类的话。

 可能的原因:
  原因系统正在执行定时作业,没有主要到多次强制分离了数据库。当附加回mdf文件时报错误1813。总之都是手贱惹的祸。。。



 解决办法:
  1、首先要备份好mdf文件,如果他没了经理非吃了你不可。都不吐骨头的。
  2、在数据库中新建一个需要附加同名的数据库。例如【testdb】 
  3、停止SQL Server服务
  4、找到该数据库所在的文件夹、并删除testdb_log.ldf与testdb.mdf文件
  5、 把需要附加的数据库【testdb.mdf】文件拷贝到当前路径。
  6、启动SQL Server服务,通过企业管理器连接数据库。
  7、此时的1步中新建的数据库地址已经指向你需要附加数据库的mdf文件了。但是现在数据库还是无法打开的。
  8、执行语句:ALTER DATABASE testdb SET EMERGENCY
  9、执行语句:ALTER DATABASE testdb SET SINGLE_USER 
  10、执行语句:ALTER DATABASE testdb REBUILD LOG ON (NAME=dbname_log, FILENAME=‘C:\XXX\dbname_log.ldf‘)
  其中FILENAME为你需要新建ldf日志的路径已经ldf文件名称。运行后会出现一条警告“执行后,会有警告信息“警告: 数据库 ‘xhtyjbbs‘ 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。””别鸟他。

  11、  DBCC CHECKDB(testdb , REPAIR_ALLOW_DATA_LOSS)     这一步会比较卡,可能会导致界面未响应。多等一会。成功后数据库变成了单用户模式,下面两步骤修改成多用户模式。
  12、ALTER DATABASE testdb  SET MULTI_USER
  13、ALTER DATABASE testdb SET ONLINE

 尾:
  不出意外的话数据库应该可以使用。千万要先备份好mdf文件,即使玩坏了还有备份。

时间: 2024-10-07 06:32:19

【MSSQL】MSSQL还原单mdf文件报1813错误的相关文章

MapGuide GIS系统求助,用FDO连接SDF文件报一个错误,几天都没找到解决办法

到目前网上有关GIS系统资料很少,而WebGIS这块,不各道大家都用什么,我这里用的是MapGuide 做GIS的显现,后台用的MapWindow 做图层,及管道网的搭建,这是将用页面显示的地理管道信息, 现在碰到一个问题:  用FDO连接SDF文件报一个错误,求助一些GIS高手们, 整理效果是这样的,在这里也将会在博客上发一些有关GIS系统项目中相关技术点,及问题点文章,给大家 1.1.1. FDO的数据结构 Feature(要素): 要素是对现实世界物体的抽象.一个要素直接或间接的关联地理位

关于SSIS批量抽取Excel文件报0x80004005错误的解决办法

原文:关于SSIS批量抽取Excel文件报0x80004005错误的解决办法 标题: Microsoft Visual Studio ------------------------------ Package [连接管理器“Excel 连接管理器”] 出错: SSIS 错误代码 DTS_E_OLEDBERROR.出现 OLE DB 错误.错误代码: 0x80004005. 已获得 OLE DB 记录.源:“Microsoft JET Database Engine” Hresult: 0x80

HipChat上传文件报未知错误解决方案

前言 HipChat是Atlassian公司的一款团队协作即时通讯工具,服务端为Linux(官方给的服务端就是一个虚拟机),在Windows.Linux.Android.IOS.Mac等平台都有客户端软件,还可以直接在PC的Web上直接聊天,对于团队协作交流需求整理的比较到位,最主要的是HipChat可以和Confluence对接讨论主题(不是有Confluence的需求个人觉得不如其他一些团队通讯软件). 前些天接下了配置HipChat服务端的任务,但是使用了几天后发现,聊天时发送超过10M的

MYSQL 编码方式 ------导入 .sql 文件 报编码错误

在做计量泵上位机时,利用MYSQL存储数据,建表hisruninfo(计量泵历史运行数据表). 表格式为utf8,查过数据库 格式 同样为utf8 导入该hisruninfo.sql文件时,并没有报错,表能建起来,但是,导入另外一个插入数据的data1.sql文件时,报错--中文字符不能识别. 插入内容并没有错 后来是将data1.sql 另存为.sql 文件时,编码方式该位 utf8  之后就能导入!  导入.sql文件 命令:source

Eclipse打开xml文件报校验错误解决办法

XML文件在Eclipse中报校验错误: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-li

springmvc引入静态文件报404错误

springmvc项目在引入jquery.js文件的时候报了404的错误,当然jquery也是无法使用了,出现这样的错误主要是由于dispatcherServlet拦截设置的问题,请看以下例子: 当我们在web.xml里面设置dispatcherServlet时设置了拦截"/",所以引入静态文件的时候也会因为这个设置而导致无法寻找文件 解决方案: 1.可以把这个拦截设置为*.do,那么页面中照常引入文件,web.xml设置: JSP使用并测试: 2.第二种方式可以添加文件后缀的拦截,建

PHPStrom上传文件报502错误原因

PhpStorm是一个轻量级且便捷的PHP IDE,其自身拥有apache类似的编译器,能够在无Apache的情况下运行,很适合初学PHPStrom的朋友. 但是我发现了一个问题,那就是用PHPStrom进行上传操作时,就会导致PHPStrom自身的编译器崩溃,刚开始碰到这种问题一直以为是环境问题,为此还重装了一次系统.后来经过一次次的排除测试,发现不是环境问题的原因. 那怎么解决了,那就是不用PHPStrom这个IDE的编译器,用Apache的编译器就能够解决这个问题. 比如说PHPStrom

idea 内置tomcat jersey 跨服务器 上传文件报400错误

报错内容 com.sun.jersey.api.client.UniformInterfaceException: PUT http://.jpg returned a response status of 400 Bad Request 因为跨服务器上传文件,文件名中里面含有中文名称,所以报错,解决: 让文件服务器支持utf-8编码或者将文件名变成英文.(最好的就是根据时间加随机数 或者是UUID来命名) 简单版的jsersey上传 @RequestMapping("/fileupload3&

上传大文件报404错误的解决办法

在Windows2008下,如果上传比较大的文件,可能会出现404错误,(请求筛选模块被配置为拒绝超过请求内容长度的请求). 可通过如下方法解决: 打开URTracker根目录下的web.config文件,找到<system.webServer>一节,加入如下配置即可: <security> <requestFiltering > <requestLimits maxAllowedContentLength="1024000000" >&