sql server怎么收缩日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server怎么收缩日志相关的知识,希望对你有一定的参考价值。
1、首先选中数据库右键--属性 点击
2、选择 展开弹窗中的选项--右侧的下拉列表 恢复模式从完整改为简单--点击确定。
3、确定后再次选择右键数据库,选择任务。
4、选择任务下二级菜单收缩--数据库,点击确定。
5、展开的界面框点击确定,开始收缩数据库。
6、数据库收缩完成后 再次右键菜单,属性--选项--恢复模式从简单改回完整即可。
参考技术A一、确认恢复模式。以下是使用 SQL Server Management Studio 检查数据库的恢复模式。
二、完整备份,日志备份之前,必须做过完整备份。注意:不要勾选“仅复制备份”选项。“仅复制备份”不会影响日志。
三、事务日志备份,做过完整备份之后,可以随时进行事务日志备份。
四、默认的选项,是备份后截断事务日志。注意:有很多情况会阻止日志截断,没有备份事务日志只是其中一种情况,也是最常见的情况。
五、手动收缩日志文件,做过日志备份之后,日志被截断,大量空间被标记为“可复用”。
一般情况下,这时候就可以进行“收缩文件”操作,以将“可复用”的空间从日志文件中移出,从而减小日志文件。
参考技术B 1.先分离数据库,然后删除日志文件,再附件数据库。2.收缩文件,选择日志文件,设置将文件收缩到0M,试了一下,只能从65G收缩到55G,也就是只释放了未使用的空间。方法 二、
1.选中数据库,右键属性/选项,把恢复模式从“完整”改为“简单”。
2.选中数据库,右键任务/收缩文件,选择日志文件,设置将文件收缩为0M,确定。
3.再将恢复模式从“简单”-“完整”即可。
--------------------------------------------------
方案1: 所以可以执行以下sql语句:
DUMP TRANSACTION 你的数据库名 WITH NO_LOG
BACKUP LOG 你的数据库名 WITH NO_LOG
DBCC SHRINKDATABASE(你的数据库名)
EXEC sp_dboption '你的数据库名', 'autoshrink', 'TRUE'方案2:
在数据库的属性里-选择选项-恢复模式改为“简单”-勾选“自动收缩”。这样就可以自动进行数据库的收缩,推荐采用这种自动方式进行
--------------------------------------------------
SQLSERVER收缩事务日志
一、由于系统中录入及删除数据频繁,故事务日志很大。
SQLSERVER中讲:
BACKUP LOG 数据库名 WITH NO_LOG|TRUNCATE_ONLY可以截断事务日志。
但我在数据库中进行上述操作后,事务日志还是没有改变。
二、只有进行“数据库收缩”操作。
在此复选框中打勾
选中上图所示选项,即可点“确定“,执行收缩事务日志的操作,硬盘经过一段时间的工作后,SQLSERVER终于提示收缩成功。事务日志文件被恢复到原始尺寸。
综上所述,第一步只是将非活动的事务日志截断,并没有收缩数据库,只有进行第二项操作后,数据库才进行事务日志的清理工作,将截断的非活动事务删除,并将事务日志文件收缩到适当尺寸。
在使用 SQL Server 时,数据库里的日志文件会越来越大,需要把它删除。 我先把这个数据库分离,在数据库上点右键 - 所有任务 - 分离数据库,分离之后,就可以把 Log 文件删除,同时也可以把数据进行备份。之后,就可以在所有任务里的附加数据库再把那个数据库添进来,SQL Server 会提示 LOG 文件不存在,问你是不是要新建一个,选是就行了,这样,LOG 文件就清空了。 这个方法只需几分钟的时间,但在这几分钟里,就不能访问这个数据库了,我觉得只适用于小型的应用,对于大型的系统就要找其它方法了本回答被提问者和网友采纳
Sql Server 2008收缩日志语句
--先查询DBName_Log在sys.database_files里的名称,此处暂用XXX代替
USE DBName
GO
SELECT file_id, name FROM sys.database_files;
GO
--真正的收缩语句。Sql Server 2008要先将模式改为简单模式,收缩后再改回完全模式。
SE [master]
GO
ALTER DATABASE DBName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DBName SET RECOVERY SIMPLE
GO
USE DBName
GO
DBCC SHRINKFILE (N‘XXX‘ , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DBName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DBName SET RECOVERY FULL
GO
本文出自 “StaticLight” 博客,请务必保留此出处http://simonshow.blog.51cto.com/2966511/1760894
以上是关于sql server怎么收缩日志的主要内容,如果未能解决你的问题,请参考以下文章