精华内容
下载资源
问答
  • 问题二、SqlServer恢复数据:如何通过mdf文件和ldf文件来恢复数据库; 问题描述:服务器挂掉后,只得重装系统,幸好数据库的.mdf、.lsf文件还在,但如何恢复数据库呢? 解决方法:  解决思路就是通过分离和附加来...
    问题二、SqlServer恢复数据:如何通过mdf文件和ldf文件来恢复数据库;
    问题描述:服务器挂掉后,只得重装系统,幸好数据库的.mdf、.ldf文件还在,但如何恢复数据库呢?
    解决方法:
     解决思路就是通过分离和附加来移动数据库(https://msdn.microsoft.com/zh-cn/library/ms187858);
     a、复制
      把mdf文件和ldf文件拷贝到数据库的默认路径,如C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA里;
     b、附加
      在sqlserver里新建个查询,执行下面代码
       USE master;
       GO
       CREATE DATABASE dbname
          ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File.mdf'),
          (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File_log.ldf')
          FOR ATTACH;
       GO
     c、刷新就会出现dbname数据库;
    展开全文
  • SQL Server数据库没有LDF恢复 由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。 如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_...

    SQL Server数据库没有LDF 的恢复

    由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。
    如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,
    但是会出现类似下面的提示信息
    设备激活错误。物理文件名 E:\Microsoft SQL Server\Data\iBusinessWork_Log.LDF’ 可能有误。
    已创建名为 ‘E:\Microsoft SQL Server\Data\iBusinessWork_log.LDF’ 的新日志文件。
    但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息
    服务器: 消息 1813,级别 16,状态 2,行 1
    未能打开新数据库 ‘test’。CREATE DATABASE 将终止。
    设备激活错误。物理文件名 E:\Microsoft SQL Server\Data\iBusinessWork_log.LDF’ 可能有误。

    怎么办呢?别着急,下面我们举例说明恢复办法。
    A.我们使用默认方式建立一个供恢复使用的数据库(如iBusinessWork)。可以在SQL Server Enterprise Manager里面建立。
    B.停掉数据库服务器。
    C.将刚才生成的数据库的日志文件iBusinessWork_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件iBusinessWork_data.mdf。
    D.启动数据库服务器。此时会看到数据库iBusinessWork的状态为“置疑”。这时候不能对此数据库进行任何操作。
    E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
    use master
    go
    sp_configure ‘allow updates’,1
    go
    reconfigure with override
    go

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

    G.下面执行真正的恢复操作,重建数据库日志文件
    dbcc rebuild_log(‘iBusinessWork’,‘E:\Microsoft SQL Server\Data\iBusinessWork_log.ldf’)
    执行过程中,如果遇到下列提示信息:
    服务器: 消息 5030,级别 16,状态 1,行 1
    未能排它地锁定数据库以执行该操作。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了iBusinessWork库的系统表,那么退出SQL Server Enterprise Manager就可以了。(关闭企业管理器,如果别的机器从网络访问数据库,也把网络关闭)
    正确执行完成的提示应该类似于:
    警告: 数据库 ‘iBusinessWork’ 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

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

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

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

    展开全文
  • 排查后发现一个数据库的LDF日志文件过大,导致磁盘空间爆满导致的。 之后发生了一件非常愚蠢的操作,在没有备份,没有查阅资料的情况下,只问了下公司技术人员是否可以删除后,直接将数据库服务停掉后,将LDF文件...

    今天用户使用系统时反馈填报时出现问题在这里插入图片描述

    排查后发现一个数据库的LDF日志文件过大,导致磁盘空间爆满导致的。
    之后发生了一件非常愚蠢的操作,在没有备份,没有查阅资料的情况下,只问了下公司技术人员是否可以删除后,得到了可以的答案,直接将数据库服务停掉后,将LDF文件删除了。

    之后这个库就连接不上了。。。。

    正确的删除方式应该是先 分离 数据库,然后删除LDF,删除后再把分离的库 附加 回来。

    https://www.cnblogs.com/guanxiaohe/p/13359528.html

    出了问题就要想办法解决
    查看这个帖子

    https://blog.csdn.net/xuandhu/article/details/376736?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

    在这里插入图片描述
    尝试将数据库分离,提示 SQLServer无法对数据库’XXX’执行删除,因为它正用于复制。错误:‘3724’
    查看下面这个帖子,知道了 EXEC sp_removedbreplication ‘数据库名称’ 命令

    https://blog.csdn.net/dongba4265/article/details/101580213?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

    但是执行后再次尝试分离,提示
    消息 3707,级别 16,状态 2,第 1 行 不能分离可疑或恢复挂起数据库。必须修复或删除它。
    继续百度,根据下面这个帖子的操作,重新生成了一个LDF文件

    1、修改数据库为紧急模式

    ALTER DATABASE 数据库名称 SET EMERGENCY

    2、使数据库变为单用户模式

    ALTER DATABASE 数据库名称 SET SINGLE_USER

    3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

    DBCC CheckDB (数据库名称 , REPAIR_ALLOW_DATA_LOSS)

    4、使数据库变回为多用户模式

    ALTER DATABASE 数据库名称 SET MULTI_USER

    也可以这样做:

    1:重新建立一个,一样的数据库,路径名称,文件都一样。

    2:关掉SQL Server服务;

    3:把源文件COPY过来;

    4:开启SQL Server服务,这样问题同样就解决了。

    https://blog.csdn.net/weixin_33622153/article/details/112997295?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

    至此后数据库恢复正常,也给自己留了个教训,任何初次尝试的删除操作,在操作前应该先查阅执行后导致的后果,以及进行数据备份。

    同时,十分感谢分享经验的各位前辈,关键时刻救小弟一命。
    今天真是太刺激了。。。。。。

    还有一个 暂时没有用上的帖子,mark下
    误删除了SQL日志(.ldf)文件的恢复技术

    https://blog.csdn.net/weixin_30634661/article/details/95601494?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase

    又发现自动备份出问题了,重启下服务,分离附加下数据库。手动备份已正常。


    SQLServer数据库中开启CDC导致“事务日志空间被占满,原因为REPLICATION”的原因分析和解决办法

    https://www.cnblogs.com/wy123/p/6646143.html


    SQL2008R2 收缩数据库问题 - 日志文件不变小
    https://www.cnblogs.com/strayromeo/p/6961758.html

    展开全文
  • SQL Server2012 数据库恢复(mdf,ldf

    千次阅读 2015-05-08 15:42:42
    最简单的操作:方法一: master->右键,附加->添加你的mdf文件;数据恢复完成 方法二: 只有mdf文件和ldf文件,怎么恢复数据库数据文件的迁移(mdf,ldfsql server数据库文件的迁移(mdf&ldf文件)

    最简单的操作:

    方法一:
    master->右键,附加->添加你的mdf文件;数据恢复完成
    方法二:
    只有mdf文件和ldf文件,怎么恢复数据库

    数据文件的迁移(mdf,ldf)

    sql server数据库文件的迁移(mdf&ldf文件)

    展开全文
  • 删除.ldf文件 企业管理器--右键数据库--附加数据库--选择你的.mdf文件--确定--提示是否创建日志文件--选择 ---------------------------------------------...
  • 附加数据库时遇到报错,有一个文件死活认不到: 无法打开物理文件“E:\data\test02.mdf”。操作系统错误 2:“2(系统找不到指定的文件。) 由于是测试库,数据文件太大重新复制一遍太...首先在SQL Server中创建一个...
  • SQL SERVER 2005 没有LDF文件恢复数据库

    千次阅读 2012-08-11 18:00:49
    sql server 2005只有.mdf文件如何附加 、新建一个同名数据库,停止sql服务,删除新建数据库.ldf文件 2、将要附加的数据库的.mdf文件覆盖刚新建的.mdf文件,并重启服务 这时数据库DATA目录下只有一个.mdf文件,...
  • SQLServer2012恢复SQLServer2005 ...
  • 数据库的ldf文件丢失或损坏,则数据库加载失败, 查看SQL Server Management->SQL Server Logs,可以看到加载ldf失败。1.查看数据库状态select * from sys.databases可以看到对应的数据库的state_desc为Recovery在...
  • sqlserver 恢复

    2018-10-10 15:56:58
    sqlserver 恢复步骤 1. 先恢复数据文件 GO  RESTORE DATABASE BIMQ_2017   FROM DISK='D:\BACKUP\FULL\BIMQ_2017\BIMQ_2017_BACKUP_2018_10_07_010002_4417366.BAK'  WITH NORECOVERY,  MOVE 'BIMQ_2017' TO '...
  • 执行如下命令 CREATE DATABASE stockdata on (FileName='F:\project\workproject\DataBase\stockdata\stockdata.mdf') FOR ATTACH_REBUILD_LOG; FileName 为.mdf文件的路径
  • SQL Server恢复

    2010-09-16 09:35:16
    EXEC sp_attach_single_file_db @dbname = '123', @physname = 'D:\123.mdf'  先尝试sp_attach_single_file_db...sp_attach_single_file_db 'SharePoint_Config','D:\Program Files\Microsoft SQL Server\MSSQL...
  • Sql Server 2008R2只有LDF日志文件数据恢复案例 客户一会员软件使用的是SQL Server2008R2的数据库,在重新安装系统时,光盘自动把硬盘分区格式化了,导致数据库丢失,客户只需要会员记录表。 正常这种情况很容易...
  • SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server ...
  • 最近遇到了一个sql server 2000文件,ldf损坏了,但mdf还在,于是想办法恢复之,网上找到了些方法,现小结之 1) 先及时把原来的数据库文件(如test.mdf)备份到其他地方2) 停掉服务器3) 删除这个test.mdf4) 重新...
  • SQL Server非正常删除日志文件(ldf恢复方法浏览选项: 大中小 颜色 默认 灰度 橄榄色 绿色 蓝色 褐色 红色 事务日志文件(ldf)在SQL Server服务未启动的情况下被删除(SQL Server在工作状态下是无法删除日志文件...
  • SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份。 2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。 ...
  • ApexSQLLog_SqlServer数据恢复:在网上找到的,非常实用。ApexSQLLog sql server 数据恢复,亲测
  • 在平时开发中,经常会遇到数据库SQL Server如导入mdf,ldf文件的问题,下面给你介绍一下怎么做,希望能够帮到你。方法/步骤一:代码方法1打开SQL Server,可以选择Windows方式连接。 2打开数据库,右键某一个数据库...
  • SqlServer备份和恢复(二)备份---创建测试数据库chen20181123createdatabasechen20181123on(name=chen_data,filename='D:\hrtest\DB\testdata\chen20181123_data.mdf',size=10MB,filegrowth=1MB)logon(name=chen_log,...
  • 新建一个查询: 输入指令 USE master; ...在单引号中写上你的mdf文件和ldf文件...(FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\student_log.ldf') FOR ATTACH; GO
  • 只有多个ndf 一个ldf文件 没有mdf文件的数据恢复 是以 EXEC SP_attach_db @dbname = N'目标数据库名', @filename1 = N'源数据库DATA文件完整路径及文件名.NDF', @filename2 = N'源数据库LOG文件...
  • 1、把mdf文件和ldf文件拷贝到数据库的默认路径C:\Program Files\Microsoft SQL Server\MSSQL10....2、在sqlserver里新建个查询,执行下面代码; 1 USE master; 2 GO 3 CREATE DATABASE NewFile 4 ON (FILENAME = '
  • SQL Server 2000数据库LDF损坏,只有mdf的恢复 SQL Server 2000数据库文件遭到破坏的现象经常出现,数据库出错是否可以修复呢?答案是可以的,本日志以一个sql server 2000数据库,数据库日志文件ldf损坏了,mdf正常...
  • 最近遇到了一个sql server 2000文件,ldf损坏了,但mdf还在,于是想办法恢复之,网上找到了些方法,现小结之1) 先及时把原来的数据库文件(如test.mdf)备份到其他地方2) 停掉服务器3) 删除这个test.mdf4) 重新...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,993
精华内容 2,397
关键字:

ldfsqlserver恢复