SqlServer的LDF文件丢失, 如何仅用MDF文件恢复数据库呢?(已解决)

article/2025/10/23 23:19:35

笔者的一个大小为2 TB的SQL Server的database的LDF文件在玩存储盘映射的过程中莫名其妙的丢失了. 好在MDF文件还在. 笔者慌了, Bruce Ye告诉笔者, 不用着急, 光用MDF也可以把数据库弄回来的. 笔者就问Bruce, 假设我可以容忍LDF中信息的丢失的话, 那么该如何恢复这个数据库呢?

我们执行了下面的步骤:

已知:我的数据库名称为:TestDB

1.在SQL Server Management Studio中删除状态为Recovery Pending的(即丢失了LDF的)问题数据库.

2.重命名老的MDF文件.

3.重建一个新的数据库, 名字跟刚刚删除的数据库完全一样. 注意, 新的MDF的位置跟我们老的MDF的文件的位置相同. 这里的LDF文件的位置选在你想要存放的最终位置上(这个就是你所要的被恢复的LDF文件了).

4.停掉SQL Server服务, 将新的MDF重命名掉, 老的MDF命名回原来的名字.

5.启动SQL Server服务, 这时这个数据库的状态会变为Recovery Pending. 我们开始执行下面的脚本.

alter database TestDB set emergency
alter database TestDB set single_user with rollback immediate
alter database TestDB rebuild log on (name=TestDB_log, filename='D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\TestDB_log.ldf')
alter database TestDB set multi_user with rollback immediate

这时数据库的状态就应该恢复正常了.

问题解决.

笔者在运行上面的脚本的时候, 遇到了一个报错. 在运行了命令alter database TestDB set single_user with rollback immediate之后, 运行alter database TestDB rebuild log on 的时候说数据库在single user mode, 我的当前用户无法执行命令.

我使用了命令exec sp_who2, 发现我的TestDB上有个suspend的session, 执行命令kill XY 杀掉这个死掉的session之后, 问题解决.


http://chatgpt.dhexx.cn/article/VbdL5F70.shtml

相关文章

根据.mdf、.ndf和.ldf文件恢复数据库数据

一、.mdf、.ndf和.ldf文件是什么 在微软的SQL Server 2000 数据库有三种类型的文件: 类型缩写中文意思mdfprimary data file主要数据文件ndfsecondary data files次要数据文件ldfLog data files事务日志文件 1、主要数据文件:(扩展名.mdf是…

清除SQLServer数据库日志(ldf文件)的几种方法

概述 我是下面有三个ldf:**_log2.ldf,**_log3.ldf,**_log.ldf,我是通过方案2减小了**_log.ldf。另两个改了后缀名还没有报错,因为我这个是测试环境,运行一段时间没事我就删掉。 随着系统运行时间的推移,数据库日志文件…

mdf文件和ldf文件ndf是什么,怎么用?如何给SQL server添加数据文件?分离和附加数据库的操作

目录 三种文件介绍: 附加数据库操作: 分离数据库: bak备份文件: 三种文件介绍: 在微软的SQL Server 2000 数据库有三种类型的文件: 类型缩写中文意思mdfprimary data file主要数据文件ndfsecondary d…

SqlServer如何将mdf、ldf文件导入数据库—两种解决方法

在导入之前将mdf和ldf文件的权限修改成everyone完全控制,避免导入失败;无everyone用户添加一个即可。 操作步骤: 选择对应文件右键—属性—安全—编辑—选中everyone—完全控制打勾—点击确定按钮即可 方法一: 注意:如…

sqlsever2019:添加mdf和ldf文件

文章目录 右键数据库,点击附加: 点击添加: 复制这个路径到文件夹:(以后所有的mdf,和ldf文件都在这) 把需要添加的文件复制粘贴到这个路径下: 再回到这点击添加: 选确定 再确定&#…

清除SQL Server数据库日志(ldf文件)的几种方法

随着系统运行时间的推移,数据库日志文件会变得越来越大,这时我们需要对日志文件进行备份或清理。 解决方案1 - 直接删除本地ldf日志文件:(比较靠谱方案!) 1. 在SQL管理器分离数据库。 2. 对数据库日志文件进…

C语言表白代码分享

#include <stdio.h> #include <math.h> #include <stdlib.h> #define I 20 #define R 340 #include <string.h> int main() {char answer[10];printf("和我私奔吧\n趁夜色和爱你正浓\n在落日跟暮色当中\n都是属于浪漫和刚刚好\n\n");printf(…

爱心代码(c语言)

最简单的爱心代码&#xff0c;复制即可用 #include<stdio.h> #include<windows.h> int main() {for (float y 1.5f; y > -1.5f; y - 0.1f){for (float x -1.5f; x < 1.5f; x 0.05f){float a x * x y * y - 1;putchar(a * a * a - x * x * y * y * y &l…

c语言必背100代码,初学者代码大全(c语言必背100代码)

一个完全入门初学者如何学代码,读代码和写代码,,我想学代码不知道方向谁能给我指明一个方向? 1、学代码:前提是你的复有一个比较系统的学习.认真完成每一个课程中的案例. 2、读代码:分制两步走:前期能读懂自己写的代码.2113 后期能读懂他人写的代码和大致的知道底层的某些源码…

C语言表白代码?

解题思路&#xff1a;这道例题我分了4部分&#xff0c;前3行一部分&#xff0c;4-6行一部分&#xff0c;7-13行一部分&#xff0c;最后一行一部分&#xff0c;读者请仔细阅读注释&#xff0c;小林写的很详细了。 前三行输出&#xff0c;为了让初学者知道&#xff0c;即使最笨的…

用C语言编写爱心代码

又快到情人节了&#xff0c;或者女朋友生日各种纪念日什么的&#xff0c;下面给大家编写一个简单的爱心代码&#xff0c;供大家参考&#xff0c;希望对大家有帮助哦。 #include<stdio.h> #include<windows.h> //心形图案爱心代码编程c语言 int main() { float x,y…

C语言表白代码

C语言实现打印出心形&#xff0c;初学者的表白神器。 这道题分4部分&#xff0c;前3行一部分&#xff0c;4-6行一部分&#xff0c;7-13行一部分&#xff0c;最后一行一部分。 前三行输出&#xff0c;为了让初学者知道&#xff0c;即使最笨的方法也是可以打印的。 4-6行&#x…

C语言烟花代码—兔年顶呱呱

废话不多说&#xff0c;直接上码 代码&#xff0c;歌曲&#xff0c;烟花图片都在压缩包里 链接: https://pan.baidu.com/s/1_459s0fFCAX1DcQa_BnHMQ?pwdqw12 提取码: qw12 要看效果的也可以看我抖音: 1210246294 #include<stdio.h> #include<easyx.h> #inclu…

爱心c语言简单代码

前言&#xff1a;对于c语言&#xff0c;在我看来十分重要&#xff0c;是所有语言编程语言的鼻祖。 今天先跟大家分享一个编程c语言的软件&#xff0c;visual studio 2019 在这里选择你想要的版本。 安装密匙 这是一些&#xff0c;希望可以帮助到大家。 安装以后我们打开vs201…

经典C语言从入门到入坑必学最简单的代码

解锁IT男超哥电脑中沉睡已久的C语言代码 当IT男超哥再看到这一串串代码&#xff0c;其实IT男超哥很久没有写C语言代码了&#xff0c;然后根据以前的片段开始用旧代码写的新代码&#xff0c;这让我想起&#xff0c;我的大学老师有一节课让我回答问题&#xff0c;老师说C语言代码…

C语言初学者必学必会的C语言必背100代码

对于C语言这门计算机语言&#xff0c;算是老生常谈了&#xff0c;现在就由我来给大家分享几个关于C语言的几个代码吧&#xff01;(如果有错的地方还望见谅) 1.入门级别hello&#xff0c;world #include<stdio.h> int main() { printf("Hello,world!\n"); …

【Latex】表格样例大全

1 % 所需包 \usepackage{type1cm} \begin{table*}[t]\caption{Performance of MeFA (Adult). }\label{tab_1

LaTeX表格行高、列间距设置

一、前言 对于如下 LaTeX 代码生成的表格&#xff1a; \begin{table}[!htbp]\centering\begin{tabular}{|l|l|l|l|}\hline~ & col1 & col2 & col3 \\ \hlinerow1 & 1 & 2 & 3 \\ \hlinerow2 & 4 & 5 & 6 \\ \hline\end{tabular} \end{ta…

LaTeX 表格

本系列文章由 @YhL_Leo 出品,转载请注明出处。 文章链接: http://blog.csdn.net/yhl_leo/article/details/50066137 一些LaTeX中表格的使用方法如下: 1.table \documentclass{article}\begin{document}\begin{table}[h]\centering\begin{tabular}{|l|c|c|}\hlineSetting…

【LaTeX教程】六.LaTeX中的表格

欢迎订阅本专栏&#xff1a;《LaTeX教程》 专栏介绍&#xff1a; 博主是一名重度LaTeX使用人员&#xff0c;想借此专栏跟大家分享LaTeX的使用心得&#xff0c;同时为LaTeX初学者们提供一些入门经验。欢迎正在使用或者即将使用LaTeX的小伙们一键三连&#xff08;收藏❤️、点赞…