- 浏览: 190653 次
- 性别:
- 来自: 广州
文章分类
最新评论
今天去查询历史库存表,发现6天的记录都没有被自动保存,运行备份语句,提示"数据库xxx日志已满。请备份该数据库的事务日志以释放一些日志空间。" 网上查了下相关资料,找到下面这个最好用的,.(本人只试过了前三步就OK了,后面的方法未验证)
--压缩日志及数据库文件大小
/*--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
--*/
1.清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小(sql2000和sql2005类似)
右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(客户资料)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a.分离
EXEC sp_detach_db @dbname = 'pubs'
b.删除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
--SQL语句设置方式:
EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE'
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
--压缩日志及数据库文件大小
/*--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
--*/
1.清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小(sql2000和sql2005类似)
右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(客户资料)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a.分离
EXEC sp_detach_db @dbname = 'pubs'
b.删除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
--SQL语句设置方式:
EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE'
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
- SQL数据库收缩工具.rar (251.7 KB)
- 下载次数: 2
发表评论
-
sqlserver 计划任务 收缩数据库日志文件
2019-06-28 15:32 1068针对之前的语句做了整合,只有日志文件大于1000M时,才进行收 ... -
Sqlserver查询数据库文件大小和剩余空间
2019-06-28 14:27 950在MS Sql Server中可以能过以下的方法查询出磁盘空间 ... -
使用job对日志文件定期处理
2019-06-28 10:35 409use master go --更改数据库模式为简 ... -
根据当前日期往前推12个月得到每月月份及年份
2019-04-24 11:39 2954效果就是: col_name data_month ... -
查看数据库中每个表的空间大小及行数
2019-04-04 16:58 455create table #t (name varcha ... -
sql语句之根据起始结束日期获取每一天、周、月、年【转】
2019-03-20 15:45 1706得到两个时间之间的每一天 create function ... -
SQL 多列转换为一行【转】
2019-03-14 11:56 1157--创建测试表 IF OBJECT_ID('test') ... -
sqlserver update或者Delete误操作恢复方法---【验证】
2018-11-08 12:32 2278高手具体方法: 原文地址:http://blog.csdn. ... -
SQL并发的问题
2018-01-15 15:55 569参考文献: https://www.cnblogs.com/C ... -
sql函数应用简单举例
2017-11-24 16:25 560返回某个字段 create function getran ... -
sql 生成不重复的随机数
2017-11-24 15:13 2083--创建视图(因为在函数中无法直接使用newid()) ... -
sql 上个月,下个月时间处理函数
2017-11-21 15:52 2967--上月的第一天 SELECT CONVERT(CHAR(1 ... -
删除当前库中所有表记录
2011-10-04 20:45 882--先禁用所有外键约束 exec sp_msforeac ... -
因为文件组primary已满,未能为数据库XX对象XX分配空间
2011-02-18 17:10 16221.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理 ... -
net use 发生系统错误67,找不到网络名
2010-12-29 10:56 16748局域网中有两台电脑 A ... -
反思SQL的or连接词
2010-12-17 18:04 1129下午在调试程序的时候一个诡异的现象,删除单据后被删除的单据依然 ... -
尝试在数据库 5 中提取逻辑页 (1:1640) 失败。该逻辑页属于分配单元XXX ,而非 XXX。
2010-12-02 16:15 4248此信息表明数据库或表 已经部分损坏可以通过以下步骤尝试修复: ... -
win7 安装sql2000
2010-11-22 11:56 1421win7下安装sql2000的要点: 1、以管理员身份运行 m ... -
关于解决SQLServer 2005安装时的COM+目录要求问题
2010-09-06 21:23 12581、开户MSDTC服务 开始-运行,输入cmd后回车,在命令提 ... -
sql 所有格式时间
2010-09-06 21:16 7691. 当前系统日期、时 ...
相关推荐
在SQL Server中,数据库日志已满的问题是一个常见的问题,主要由于事务日志空间不足导致。日志文件用于记录所有数据库事务,确保数据的一致性和可恢复性。当日志文件达到其最大大小且未被清除或收缩时,可能会阻碍...
### SQL数据库日志已满的解决办法 在日常的数据库管理工作中,经常会遇到SQL数据库的日志文件因存储空间不足而无法继续写入的情况,这通常会导致数据库操作异常甚至停止服务。本文将详细介绍当SQL数据库日志已满时...
当前的解决方法是:把硬盘上的其他... 在查询分析器上操作: 清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 解决SQL数据库日志已满的问题 1、右键数据库→属性→选项→
在IT行业的数据库管理中,遇到“数据库tempdb的日志已满”这一问题是非常常见的,它不仅会影响数据库的性能,还可能导致部分操作无法执行。本文将深入解析这一问题的原因、影响以及解决方案,帮助数据库管理员和开发...
数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限。 ...
AlwaysOn 集群数据库日志清理教程 在 AlwaysOn 集群环境中,数据库日志文件的疯狂扩张是一个常见的问题,该问题不仅占用大量的存储空间,还可能会影响数据库的性能和稳定性。因此,周期性的清理数据库日志文件是...
解决SQL数据库日志已满的问题.txt
### Oracle数据库日志查看方法详解 #### 一、概述 Oracle数据库是企业级应用中广泛使用的数据库管理系统之一,为了确保数据库系统的稳定运行和快速定位问题,掌握Oracle数据库日志查看方法至关重要。本文将详细...
数据库日志是数据库管理系统中的重要组成部分,特别是在关系型数据库中,如Microsoft SQL Server。日志用于记录所有的事务操作,确保数据的一致性和可恢复性。然而,随着时间的推移,数据库日志文件(通常命名为ldf...
《K3数据库日志收缩工具:优化数据管理与性能提升的关键》 在信息化时代,企业管理系统如金蝶K3在日常运营中起着至关重要的作用。然而,随着业务的不断扩展,数据库中的日志文件可能会变得庞大,占用大量存储空间,...
SQL数据库日志清理工具是针对SQL Server数据库管理系统中日志文件过大或日志管理不当而设计的专业工具。在SQL Server中,日志文件(通常命名为*.ldf)用于记录所有事务的更改,包括数据的插入、更新和删除,以及...
数据库日志过大问题是一个常见的数据库管理挑战,尤其在高并发、大数据量的系统中更为显著。日志文件的迅速膨胀可能会占用大量磁盘空间,影响系统性能,甚至导致数据库服务中断。以下是一些关于如何处理数据库日志过...
在IT领域,尤其是在数据库管理与维护中,SQL Server数据库日志满的问题是常见的技术挑战之一。这不仅影响数据库性能,还可能导致数据写入失败、事务处理中断等严重后果。因此,掌握有效的处理方法至关重要。根据给定...
在SQL Server数据库管理中,日志文件是存储事务...了解这些基本概念和使用方法后,你可以根据你的数据库环境和需求,选择合适的SQL数据库日志清除工具,有效地管理和维护你的数据库日志,确保数据库性能和数据安全性。
教程名称:手把手教你整理自己的SQL Server日志课程目录:【】MSSQL数据库日志满的快速...教你如何清除SQL日志【】数据库日志已满解决办法【】通过sqlserv 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
### 如何清空数据库日志文件 在SQL Server中,日志文件的管理是一项重要的维护工作,特别是对于大型数据库而言。随着数据操作的频繁进行,事务日志文件可能会变得非常庞大,这不仅会占用大量的磁盘空间,还可能影响...
数据库日志维护手册,数据库日志维护手册,数据库日志维护手册。数据库日志维护手册.
数据库日志收缩脚本,适用于SQL server 2005, 2008, 2012