关于数据库的ldf和mdf文件变得超大解决办法

SQL Server 2012 导出数据及分离MDF、LDF 最近在设计数据库时看到自己设计的数据库和师哥师姐给我们的不一样,于是就查了一下把数据库导出写了下来。 分离数据库步骤 这是师哥师姐给我们的数据库格式,如下: 那么如何生成MDF和LDF格式的数据库呢?其实也就是把我们之前建立的数据库进行分离 1.建立的数据库——任务——分离 2.在分离数据库中选择 阅读详情

 

截断事务日志  
如果从来没有从事务日志中删除日志记录,逻辑日志就会一直增长,直到填满容纳物理日志文件的磁盘上的所有可用空间。在某个即时点,必须删除恢复或还原数据库时不再需要的旧日志记录,以便为新日志记录腾出空间。删除这些日志记录以减小逻辑日志的大小的过程称为截断日志。  
 
永远不能截断事务日志的活动部分。日志的活动部分是在任何时间恢复数据库所需的日志部分,因此必须有回滚所有未完成的事务所需的日志映像。这部分必须始终在数据库中,因为一旦服务器发生故障,在服务器重新启动时必须用它恢复数据库。日志活动部分起点处的记录由最小恢复日志序号  (MinLSN)  标识。  
 
为数据库选择的恢复模式决定了在数据库内,必须在活动部分之前保留的事务日志量。虽然  MinLSN  之前的日志记录对恢复活动事务没有作用,但在使用日志备份将数据库还原到故障点时,必须用这些记录前滚修改。如果由于某种原因丢失了数据库,则可以通过还原上次的数据库备份,然后还原自该数据库备份后的每个日志备份来恢复数据。这意味着这些日志备份必须包含自数据库备份后所写入的每个日志记录。当维护事务日志备份序列时,日志记录直到写入日志备份时才能被截断。  
 
 
---------------------------------------------------------------  
 
DBCC  SHRINKDATABASE  
DBCC  SHRINKDB  
DBCC  SHRINKFILE  
---------------------------------------------------------------  
 
DBCC  SHRINKFILE  
在企业管理器--〉收缩数据库--〉收缩文件--〉选日志文件--〉确定  
---------------------------------------------------------------  
 
-假设test2为数据库名称  日志已经很大的时候用    
方法一此方法适用于7.0和2000。    
 
1、在查询分析器中执行:  exec  sp_detach_db  'DB_Name','true'    
 
2、在我的电脑中将日志的物理文件xxx_Log.LDF改名。    
 
3、在查询分析器中执行:  exec  sp_attach_single_file_db  'DB_Name','C:/Program  Files/Microsoft  SQL  Server/MSSQL/Data/DB_Name.MDF'    
 
4、如果上一步成功,将步骤2中改名后的文件删除。如果上一步不成功,改回原来的文件名,用sp_attach_db将数据库附加到服务器,然后用方法二。    
 
方法二    
 
6.X中  DUMP  TRANSACTION  test2  with  NO_LOG  DUMP  TRANSACTION  test2  with  TRUNCATE_ONLY  将上面的语句多次执行,直到日志缩小。7.0和2000中  backup  log  test2  with  NO_LOG  backup  log  test2  with  TRUNCATE_ONLY  DBCC  SHRINKDATABASE(test2)  将上面的语句多次执行,直到日志文件缩小。上面的方法治标不治本,标本兼治要用下面的方法。    
 
方法三:    
 
--6.X和7.0中改为日志处于截断模式,2000中恢复模型改为简单恢复  exec  sp_dboption  'test2','trunc.  log  on  chkpt.','on'  --7.0和2000中设为自动收缩,6.x中不用执行。  exec  sp_dboption  'test2','autoshrink','on'  通常用于测试环境。    
 
方法四:  --7.0中改为日志不处于截断模式,2000中恢复模型改为完全恢复  exec  sp_dboption  'test2','trunc.  log  on  chkpt.','off'  --7.0和2000中设为自动收缩,6.x中不用执行。  exec  sp_dboption  'test2','autoshrink','on'  建立作业,每半个小时一次日志备份,每天一次完全数据库备份。  7.0和2000中:在Log收缩到正常大小后,将autoshrink选项设置为off。通常用于真实环境。  在产品化系统中将autoshrink选项设置为开启状态并非明智之举(除非您真的需要这样做),这是因为,当您的系统正在忙于完成其它任务时,autoshrink选项可能会同时启动,从而降低系统运行速度。然而,对于那些数据库管理员无暇估计并且数据库尺寸有可能在您毫无察觉的情况下超出控制范围的桌面或远程系统来说,开启这一选项却是一种非常有效的措施。  收缩事务日志  在下列情况下,日志文件的物理大小将减少:    
 
*执行  DBCC  SHRINKDATABASE  语句时。    
 
*执行引用日志文件的  DBCC  SHRINKFILE  语句时。    
 
*自动收缩操作发生时。  日志收缩操作依赖于最初的日志截断操作。日志截断操作不减小物理日志文件的大小,但减小逻辑日志的大小,并将没有容纳逻辑日志任何部分的虚拟日志标记为不活动。日志收缩操作会删除足够多的不活动虚拟日志,将日志文件减小到要求的大小。  按下面任一方式控制事务日志的大小:    
 
*在维护日志备份序列时,调度  BACKUP  LOG  语句按间隔发生,以使事务日志不致增长到超过预期的大小。    
 
*当不维护日志备份序列时,指定简单恢复模式。  详情请参考  MS  SQL  Server  2000  联机丛书:  目录-->  SQL  Server构架-->数据库构架-->物理数据库构架-->事务日志构架-->收缩事务日志  目录-->  SQL  Server构架-->数据库构架-->物理数据库构架-->事务日志构架-->截断事务日志  
 
---------------------------------------------------------------  
 
 
请确认你的数据库属性-〉选项-〉故障还原模型选择“简单”或者“大容量日志记录恢复”。  
 
BACKUP  LOG  database_name  WITH  NO_LOG  
GO  
DBCC  SHRINKFILE  (datafile,  size)  
GO  
DBCC  SHRINKFILE  (logfile,  size)  
GO  
 
 
---------------------------------------------------------------  
 
彻底解决的方法:  
     定时备份日志,会自动截断日志,用job调度,不用人工干预。对万一情况的恢复也有帮助。建议用维护计划。  

深入解析SQL Server数据库文件:Xk_Log.LDF和Xk.MDF SQL Server由若干组件构成,例如数据库引擎、复制、分析服务和报表服务等。数据库引擎是核心组件,负责处理数据存储、查询处理、事务管理以及并发控制等核心数据库功能。为了深入了解SQL Server,首先需要熟悉其存储结构,其中包括两个主要文件类型:.MDF(主数据文件)和.LDF(日志文件)。.MDF 文件是 SQL Server 数据库的核心,包含了数据库的系统表,这些表存储了数据库的所有元数据信息。它通常包含了数据库中的系统表和用户对象,如表、视图和存储过程等。 阅读详情

相关推荐

造成mdf文件过大的原因

造成mdf文件过大的原因

数据库文件.mdf太大的解决方法

在我们使用sql server数据库或者服务器时,有时会发现数据库不到一段时间,占用磁盘空间好大,也有可能是数据的原因,也有可能是其他的原因,但如果说占用绝大部分存储空间,而且数据量又不怎么大,那么,这其中就有问题了。 工具/原料 sql server 方法/步骤 首先我们要清楚问题的原因之处; 第一步:打开sql server数据库,数据库右键——属性——文件,在这个文件栏...

最数据的专栏 1万+

Cadence 17.2 OrCAD原理图库实战:从零创建电阻/电容/LED元件(附封装技巧)

本文以Cadence 17.2 OrCAD为核心,详细讲解了如何从零开始工程化地创建电阻、电容、LED等原理图库元件。内容涵盖库架构设计、符号绘制、引脚属性管理、封装关联技巧以及设计规则检查,旨在帮助硬件工程师构建规范、可复用且易于维护的元件库,为高效PCB设计奠定坚实基础。

weixin_29195615的博客 399

sql数据不多,mdf文件特别大怎么处理

1、重建大表的聚集索引 2、完整备份+日志备份一次 3、收缩数据文件(不是收缩数据库),收缩过程一开始先100M/次,过几次再调到500M,不要一次收缩好几G,要话很多时间的。 请问你是不是之前操作这个数据库的时候,有很多delete表的操作? 如果是的话,delete操作腾出来的空间是没有办法再利用起来的,所以删除表最好用truncate 原因是delete会锁住表中被删除的那部分空间,自然别人...

fucong920618717的博客 6868

R语言实战:5分钟搞定GEO单细胞数据(scRNA-seq)下载与整理(附完整代码)

本文详细介绍了如何使用R语言快速下载和整理GEO单细胞数据(scRNA-seq),提供完整的自动化处理代码。从环境准备、数据获取到文件整理和质量检查,涵盖10X Genomics标准格式及非标准数据的处理技巧,帮助生物信息学研究者高效完成数据预处理工作。

weixin_29054399的博客 600

给粒子物理萌新的Geant4保姆级入门:从看懂B1示例代码到跑通第一个模拟

本文为粒子物理初学者提供Geant4的保姆级入门指南,从解析B1示例代码到跑通第一个模拟。详细介绍了环境准备、代码解析、可视化系统实战及扩展模拟的方法,帮助新手快速掌握Geant4的基本概念和工具包使用。

weixin_29231725的博客 500

sql server 数据库mdf,ldf占用空间太大,优化缩小

sql server 数据库mdf,ldf占用空间太大,优化缩小

longdrake的专栏 5026

mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢?

先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到...

ganggangwawa的博客 9907

数据库ldf文件过大该如何处理

右键数据库--任务--收缩 将数据库和文件都收缩一下 空间就会被释放了。右键对应的数据库,选择属性,找到选项--将回复模式更改为简单模式。

Zhou_zichao的博客 683

Unity UI适配核心:Canvas Scaler模式解析与2023版避坑指南

UI适配是游戏与应用开发中的基础挑战,其核心在于确保界面元素在不同屏幕分辨率与设备上保持视觉一致与功能可用。原理上,系统通过坐标转换与缩放计算,将设计稿的布局映射到物理屏幕。技术价值在于提升用户体验的一致性与产品的跨平台兼容性。应用场景广泛覆盖手游、PC端应用及各类交互界面。本文聚焦Unity引擎中的Canvas Scaler组件,深入剖析其Scale With Screen Size等模式的工作原理,并结合锚点设置、安全区域处理等高频搜索热词,提供解决UI错位、拉伸及异形屏适配等常见问题的工程实践方案,帮

weixin_30920597的博客 621

Anroid8.1 强制修改系统可以adb remount

在Android6.0 (Android M)user版本上,发现使用adb root后再adb remount系统之后会提示这样信息:remount of /system failed: Read-only file system,这是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,因为系统本身在user就不支持可写操作,我们就不能adb push来调试apk,如果想调试apk就需要修改system、vendor权限问题。 如下现象: C:\Use

wq892373445的博客 1407

SqlServer怎么导入mdf、ldf文件

第一种方法: 1.打开SQL Server,写好登录名和密码点击连接. 2.打开数据库,右键某一个数据库,选择“新建查询(Q)”。 3.再代码界面输入如下代码,点击F5键或者点击运行按钮即可。 代码如下: EXEC sp_attach_db @dbname = '你的数据库名', @filename1 = 'mdf文件路径(包缀名)...

hzp666的博客 10万+

图解电动汽车:电动汽车主要参数

动力性指标 汽车的动力性指标主要有最高车速、加速时间、最大爬坡等,体现了汽车在行驶过程中能达到的极限运动水平。对于电动汽车,其动力性由搭载的驱动电动机决定,主要的参数包括最大扭矩、额定功率、最大功率、最大转速等。 功率是指物体在单位时间内所做的功的多少,是描述做功快慢的物理量,单位是 kW。 扭矩是指机械元件转动的力矩,也称转矩,表示转动力量的大小,单位是 N·m。 转速是指发动机/电动机的转速,的单位是 rpm,即转每分钟。额定转速是指在额定功率下电动机的转速,最大转速则是在最大功率下电动机的转速。

程序员「阿基米东」的编程之旅 2万+

SqlServer如何导入mdf、ldf文件

1、sqlserver数据库中可以直接拷贝mdf和ldf文件对sqlserver数据库中的数据进行备份,然后通过数据库管理软件加载mdf和ldf文件加载数据库数据。 2、如果拷贝mdf和ldf文件失败时可以先在服务中停止SQL Server(MSSQLSERVER)服务                                                            ...

以梦为马 不负韶华 1万+

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

通过Navicat导入SQLServer的MDF文件和LDF文件

1.首先来一个最简单粗暴的语句导入 先登录你的SQL SERVER,新建查询,然后按格式输入以下语句并执行 EXEC sp_attach_db @dbname = '你的数据库名', @filename1 = 'mdf文件路径(包缀名)', @filename2 = 'Ldf文件路径(包缀名)' 例如: EXEC sp_attach_db @...

qq_37769416的博客 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SQLServer数据库文件mdf和ldf的导入及导出

通常导出SQLServer数据库的方式有两种: 1.以SQL文件的方式导出 2.以mdf和ldf数据库文件的方式导出   SQL文件的导出方式,通常需要自定义列与列之间的分隔符,因为默认的分隔符",",很可能出现在列的值中 下面介绍一下导出和导入mdf和ldf的方式 在sqlserver management studio进行如下操作 1.导出数据库   1.1 脱机,(选择的数据...

探索中前进的Rock 8443

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

数据库中常见mdf 、ndf 、ldf 、文件

SQLServer2000数据库有三种类型的文件 主要数据文件(扩展名.mdf是 primary data file 的缩写)   主要数据文件包含数据库的启动信息,并指向数据库中的其他文件,所有表、视图、存储和数据都在这个文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf。mdf文件一般用Daemon Tools打开。 mdf并非普通文件,因此不借助相应软件是无法打开MDF文件的。打开mdf文件的常用虚拟...

qq_39800695的博客 1万+

sql server 2008如何导入mdf,ldf文件

sql server 2008如何导入mdf,ldf文件   网上找了很多解决sql server导入其他电脑拷过来的mdf文件,多数是不全,遇到的解决方法不一样等问题,下边是找到的解决问题的最全面方法! 将mdf, ldf文件导入到sql server 2008数据库当中,下面提供两种办法: 第一种: (1)选择右击数据库 (2)然后点

徐刘根的博客 2万+

数据库mdf和ldf文件_如何将SQL数据库文件(MDF和LDF)移动到另一个位置

数据库mdf和ldf文件 How often you got to the point that for any reason you don’t have enough space on the specific drive to host a database? In case of database development or other tasks outside the prod...

culuo4781的博客 2826

只有mdf文件和ldf文件--怎么恢复数据库

只有mdf文件和ldf文件--怎么恢复数据库

T_Megan的博客 2万+

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

根据.mdf、.ndf和.ldf文件恢复数据库数据(通过分离和附加来移动数据库) 一、.mdf、.ndf和.ldf文件是什么 在微软的SQL Server 2000 数据库有三种类型的文件: 类型 缩写 中文意思 mdf primary data file 主要数据文件 ndf secondar...

Mr.小强的博客 5473

MDF、LDF文件过大

USE [IVMS8100] GO /****** Object: StoredProcedure [dbo].[ClearMemory] Script Date: 04/13/2010 14:28:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /***start***/ ----强制释放内存 ...

baobaojinjin的博客 1296
上一篇: C#读写Excel文档
下一篇: C# 播放器 QuartzTypeLib.dll 文件
Alexantao
博客等级 码龄19年 86粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值