SQL Server 之 数据库日志文件太大 之 删除

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

SQL数据库的日志文件太大!

用'管理'->'数据库维护计划'来做  
选择数据库->从数据库文件中删除未使用的空间  
当数据库的大小超过n  MB时收缩数据库  保留10% 的数据空间作为可用空间,这样可以调度执行,不需要手工操作。      
在维护日志备份序列时,调度BACKUPLOG语句按间隔发生,以使事务日志不致增长到超过预期的大小。    

*当不维护日志备份序列时,指定简单恢复模式。  详情请参考  MSSQLServer2000联机丛书:  目录-->  SQLServer构架-->数据库构架-->物理数据库构架-->事务日志构架-->收缩事务日志  目录-->  SQLServer构架-->数据  

1:删除LOG文件
(1)分离数据库      企业管理器->服务器->数据库->右键->分离数据库  
(2)删除LOG文件  
(3)附加数据库    企业管理器->服务器->数据库->右键->附加数据库  
此法生成新的LOG,大小只有500多K  
再将此数据库设置自动收缩  
或用代码:    
下面的示例分离  pubs,然后将  pubs中的一个文件附加到当前服务器。  
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname='c:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data/pubs.mdf'

2:清空日志  
DUMP  TRANSACTION   库名   WITH   NO_LOG

企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
清空日志  
DUMP  TRANSACTION  库名   WITH   NO_LOG

或截断日志:  
backuplog 数据库  withno_log

3:清除日志  
方法1、  
--在查询分析器,选中所要清理日志的数据库,执行如下SQL  
backuplog 数据库名  withno_log
DBCC SHRINKFILE(日志文件名或日志文件ID,要缩小的目标大小)  

在当前数据库下  
select  fileid,groupid,name from  sysfiles where  groupid=0
----------------------------------------
得到以下结果  
fileid  groupid  name
20  test_log

以上结果,fileid为日志文件ID,name为test_log  

你可以  
backup  log  test  with  no_log
dbcc  shrinkfile (2,2)
or
backup  log  test  with  no_log
dbcc  shrinkfile('test_log',2)
如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复    模型  选择  简单模型就可以了!  
或用SQL语句  
alterdatabase数据库名  setrecoverysimple
方法2、  
SQLSERVER企业管理器-》SQL  SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,  
然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。  
展开服务器组,然后展开服务器。  
展开"数据库"文件夹,右击要从中删除数据或日志文件的数据库,然后单击"属性"命令。  
若要删除数据文件,单击"常规"选项卡。若要删除日志文件,单击"事务日志"选项卡。  
在"文件名"列中,单击要删除的文件名旁边的箭头,再按  DELETE键。文件名旁出现十字光标,表明将删除此文件。    
说明    只能删除空文件。从数据库中删除文件之前,应先删除文件中的所有对象,并收缩该数据库

SQL Server数据库(创建及管理) 一、数据库文件:系统数据库+用户数据库 1、系统数据库:随程序一起安装,用户提供系统所需要的数据的数据库,是SQL Server运行的基础。 1)master数据库(主数据库) 用于记录SQL Server的所有系统级别的信息,若被损坏,SQL Server将无法正常工作。 所有用户登录名及用户id所属的角色 用户数据库配置设置 SQL Server服务器配置 所有的系统配置(例如端口配置、安全实现、恢复模式等) SQL Server 的初始化信息 2)model数据库(模板数据库) 用户创建新数据库 阅读详情

相关推荐

MS SQL 日志文件过大的解决办法

展开"数据库"文件夹,右击要从中删除数据或日志文件数据库,然后单击"属性"命令。 若要删除数据文件,单击"常规"选项卡。若要删除日志文件,单击"事务日志"选项卡。 在"文件名"列中,单击要删除的文件名旁边的箭头,再按 DELETE 键。文件名旁出现十字光标,表明将删除此文件。 说明 只能删除空文件。从数据库删除文件之前,应先删除...

a785842114的博客 1117

SQL Server 2000 数据库日志太大

1.打开企业管理器,右击要处理的数据库--》属性--》选项--》故障还原,选“简单”--》确定2.右击要处理的数据库--》所有任务--》收缩数据库--》什么也不动,默认第一个是0%,其它两个未选中,点确定--》如果您以前数据库日志文件大于1M那么现在再看看,是不是只有1M了呢。3.操作完后--》按第一步,把“故障还原”,选“完全”,传说中SQL Server 2000 有自动还原功能,说是如果非法...

Devilhand 191

SQLSERVER数据库日志文件太大,造成写数据慢的解决方法

2005版本 1、dump transaction fcj with no_log 2、压缩日志 1 --sql 2008 版本 压缩 USE [master] GO ALTER DATABASE JingAn_cqdj SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE JingAn_cqdj SET RECOVERY SIMPLE --简单...

lgxrobot的博客 5236

SQL Server 2012 创建数据库

文章目录基本概念使用SSMS工具创建使用SQL语言创建 基本概念 主要数据文件(.mdf)     主要数据文件包含数据库的启动信息,并指向数据库中的其他文件,用户数据和对象可存储在此文件中,一个数据库只有一个主数据文件。     主要数据文件由主文件组中的初始数据文件组成。     文件组是经过命名的数据文件集合。包含所有数据库系统表,以及没有赋给自定义文件组的对象和数据。主要数据文件是...

柚子君的小窝 2万+

sql server 数据库日志文件太大该如何处理

sql server 数据库日志文件太大该如何处理 在工作中,有时候需要对sql server数据库进行大量且频繁的插入、删除操作,这种操作会使得sql server数据库日志文件增长得非常快,这时很容易引起一个问题——服务器剩余磁盘空间不足。 当遇到这种情况该怎么办呢?去扩充服务器的磁盘空间吗,这是其中的一个方法,但基于成本因素的考量,这种方法肯定不能作为首选项。 于是我们接着找其他的解决方法。 当sql server 数据库日志文件太大时,我们可以适当地删除相应的数据库日志文件,以此来减小服务器磁盘被撑

qq_44491410的博客 6658

SQL Server中收缩、清空和删除数据库文件及日志文件

一、简单方法 SQL Server收缩方法 1、右键数据库→属性→选项→故障还原模型→设为简单→确定; 2、右键数据库→所有任务→收缩数据库→确定; 3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。 二、复杂方法 SQL Server日志清空方法 在查询分析器中顺序执行以下三步,其中 databasename 为你的数据库文件名 1.清空日志:DUMP TRANSACTION ...

u013131716的博客 3253

收缩、清空和删除SQL Server数据库文件及日志文件

网上搜集了一些关于如何收缩、清空和删除SQL Server 数据库文件及日志文件的方法。这样可以保证在不影响数据库系统正确工作的前提下又节省了服务器的磁盘空间。

编程浪子的专栏 8813

SQL SERVER 2008 R2 日志文件过大处理方法 (收缩及删除

SQL SERVER 日志文件收缩及删除 1、收缩日志文件 1)备份数据库 完整备份数据库(在线热备) 2)收...

clp1532的博客 2247

SQL SERVER LDF日志文件太大的解决方法

如何压缩日志及数据库文件大小 /*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏你的数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. --*/ -

TJT999 2万+

SQL日志文件太大的处理办法

好几年前做了一个SQL Server2016数据库存储的项目,刚开始使用数据库,没有太多经验,使用的是数据库默认的存储路径,运行了一段时间后,日志文件非常大,C盘空间严重不足,设备运行非常忙。3.1 数据库--右键--附加,选择【添加】选择D:\SqlDataBase\TESTDB.mdf文件。右键数据库---任务---分离;2.2 把数据库文件剪切到D盘,如:D:\SqlDataBase\文件夹。注意:只有分离了才能对数据文件进行操作,比如移动数据库或者删除数据库。2. 删除日志ldf文件。

lingqizi的专栏 5297

sql server 2008数据库日志太大解决方法

环境: 数据文件.mdf为22G,日志文件.ldf为33G,用常规方法清除日志文件时,报错: USE [master] GO ALTER DATABASE CHIANG_SCM_DB SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE CHIANG_SCM_DB SET RECOVERY SIMPLE --简单模式 GO USE

hdhai9451的专栏 8789

SQL Server 2008无日志文件附加数据库

我们的“DBA”晚上执行了一个涉及用户的操作,结果执行数据量太大,导致sql server存放日志的磁盘空间不足,第二天早起发现论坛出现问题,不能发帖。收缩日志不见效果的情况下,和其主管商议决定直接删除日志文件.ldf 。没有进一步验证自己的方案,就付诸实施。 1、停服务; 2、删除日志文件(直接物理删除了:(; 3、再启动服务, 4、原设想是可以直接建立日志文件,或者通过手工创建,未果;

Giraffe_zj的专栏 1万+

SQL Server 数据库日志文件太大的解决办法

SQL数据库日志文件满而造成SQL数据库无法写入文件时,可用两种方法: 一种方法:清空日志。 1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。...

iteye_20868的博客 1751

SQL server 日志太大的处理方法

 --最好备份日志,以后可通过日志恢复数据。。。以下为日志处理方法一般不建议做第4,6两步第4步不安全,有可能损坏数据库或丢失数据第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.--*/--下面的所有库名都指你要处理的数据库的库名1.清空日志DUMP TRANSACT

SakuraZZ的专栏 1352

SQL Server日志文件过大 大日志文件清理方法 不分离数据库

SQL Server日志文件过大,随着时间的推移会占用很大的存储空间 ,例如几G、几十个G、上百G的大日志需要清理。SQL Server数据库日志文件清理方法 ,网上提供了很多清理日志的需要【先分离数据库——〉删除日志文件——〉附加数据库】 的方法,此方法风险太大,执行过程也比较久,有时候也会出现分离不成功的现象,导致数据库无法正常使用。1.在SQL Server 2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完整模式,一定必务要再改回完整模式,不然数据库就不支持时间点备份了。

ABC123 6万+

Sql server 2005日志文件太大,使其减小的方法

Sql server 2005日志文件太大,使其减小的方法   Sqlserver2005日志文件太大,使其减小的方法:  运行下面的三行 dbName为数据库名:  backup log dbNamewith NO_LOG  backup log dbNamewith TRUNCATE_ONLY  DBCC SHRINKDATABASE(dbName)

Jaylon Wang的专栏 1万+

SQL Server 2008 删除太大日志文件

1. 数据库分离:Microsoft SQL Server Management Studio -> 右键要分离的数据库->Tasks->Detach...->Detach Database对话框中,在你需要分离的数据库行列表中,选中“Drop Connections”和"Update Statistics",最后“OK”完成数据库分离。http://technet.microsoft.com/zh-cn/library/ms191491.aspx2. 到类似于“D:/Program Files/Micro

wangmk的专栏 4397

如何收缩和删除SQL日志文件

-----------------收缩数据库的方法--------------------- DECLARE @dbname AS sysnameSET @DBNname = N'数据库名称l' --1.清空日志exec('DUMP TRANSACTION ['+@DBNname +'] WITH NO_LOG') --2.截断事务日志:exec('BACKUP (如果不压缩,...

aewugvo572286的博客 144
上一篇: sql 语句之插入新字段
下一篇: 文字实现表单提交的方法
wangdingjun0
博客等级 码龄19年 2粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值