SQL2008如何清空压缩数据库日志
SQL2008如何清空压缩数据库日志
编写人:左丘文
2015-4-10
近期在给一系统初始化资料时,不断的导入导出,因此一不小心,就将数据的SQL(sql2008R2)的是日志档弄得比数据库还大,给系统部署带来麻烦。因此想办法能否快速的将日志文件缩小到令人满意的504K。
今天在这里,我想与大家一起分享一下SQL2008中如何清空日志文档,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。
1. 采用我之前在SQL2005中的方法,发现已不能正常运行:
--sql 2005
DUMP TRANSACTION ECM WITH NO_LOG
BACKUP LOG ECM WITH NO_LOG
DBCC SHRINKDATABASE(ECM)
2. 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
方法一:
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
1 --sql 2008
2
3 USE [master]
4 GO
5 ALTER DATABASE ECM SET RECOVERY SIMPLE WITH NO_WAIT
6 GO
7 ALTER DATABASE ECM SET RECOVERY SIMPLE --简单模式
8 GO
9 USE ECM
GO
DBCC SHRINKFILE (N'SCS_log' , 11, TRUNCATEONLY)
--这里要留意,要使用数据库逻辑名
1 GO
2 USE [master]
3 GO
4
5 ALTER DATABASE ECM SET RECOVERY FULL WITH NO_WAIT
6
7 GO
8
9 ALTER DATABASE ECM SET RECOVERY FULL --还原为完全模式
GO
优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。
方法二:
最简单的一种方法是:
分离数据库
剪切(注意是剪切,不是删除)*.ldf到其他目录
附加数据库,选中*.mdf文件,附加时新建一个日志文件
确认没有问题后,把日志文件删除。
如碰到无法分离,请先停掉服务再进行。
3、有关更多的技术分享,大家可以加入我们的技术群。
欢迎加入技术分享群:238916811
SQL2008如何清空压缩数据库日志的更多相关文章
- SQL Server 2008删除或压缩数据库日志的方法
SQL Server 2008删除或压缩数据库日志的方法 2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的 ...
- SqlServer批量压缩数据库日志-多数据库批量作业,批量备份还原
原文:SqlServer批量压缩数据库日志-多数据库批量作业,批量备份还原 --作业定时压缩脚本 多库批量操作 DECLARE @DatabaseName NVARCHAR(50) DECLARE @ ...
- SQL脚本--有关压缩数据库日志
/*--压缩数据库的通用存储过程 压缩日志及数据库文件大小 因为要对数据库进行分离处理 所以存储过程不能创建在被压缩的数据库中 --邹建 2004.03(引用请保留此信息)--*/ /*--调用示例 ...
- SQL Server 2008 2005删除或压缩数据库日志的方法
由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间.由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就 ...
- 对于SQL Server 2008删除或压缩数据库日志的方法
由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400M的数据库居然有4G的LOG文件,严重占用了磁盘空间.由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就没有 ...
- SqlServer压缩数据库日志
)--数据库名称 )--数据库日志文件名称 --替换成自己的文件名称 select @dbName='dbname' select @dbNamelog='dbname_log' ) set @sql ...
- Sql Server 2008 压缩数据库日志文件
第一步:将数据库设置为简单模式 选中数据库点右键->属性: 第二步:收缩数日志文件 1, 2, 第三步:将恢复模式改回为完整模式 如果你觉得用UI界面麻烦,那你就用SQL语句吧 ...
- SQL Server 2005/2008压缩数据库日志的方法
适用于SQL Server 2005的方法 Backup Log DNName WITH no_log GO DUMP TRANSACTION DNName WITH no_log GO USE DN ...
- MSSQL数据库清理Log 压缩数据库日志文件
dump transaction 数据库名 with no_log go dbcc shrinkdatabase(数据库名)
随机推荐
- 20145211MSF基础应用实验
20145211MSF基础应用实验 一.实验博客 ms08_067攻击实验 http://www.cnblogs.com/entropy/p/6690301.html ms12_004漏洞攻击 htt ...
- 常用<meta>
转自:http://segmentfault.com/a/1190000002407912 w3c -- <meta>标签:http://www.w3school.com.cn/tags/ ...
- sqlmap简单使用方法
sqlmap使用 注入点 http://1xx.xxx.xxx.xxxx/dvwa/vulnerabilities/sqli/index.php?id=1&Submit=Submit# 通 ...
- IDEA使用Git管理项目
今天将项目使用Git管理了,IDEA. 第一步: 第二步:
- c++ 列表删除元素(erase)
#include <list> #include <iostream> #include <iterator> using namespace std; int m ...
- 【Python】实现对大文件的增量读取
背景 前段时间在做一个算法测试,需要对源于日志的数据进行分析才能获取到结果:日志文件较大,所以想要获取数据的变化曲线,增量读取是最好的方式. 网上有很多人的技术博客都是写的用for循环readline ...
- git基本操作,一篇文章就够了!
1. git简介 git的通用操作流程如下图(来源于网络) 主要涉及到四个关键点: 工作区:本地电脑存放项目文件的地方,比如learnGitProject文件夹: 暂存区(Index/Stage):在 ...
- EPANET头文件解读系列6——HASH.H
该文件是EPANET中HASH.C的头文件,下面列出了该文件的源码以及我的中文注释 /* HASH.H**** Header file for Hash Table module HASH.C***/ ...
- POJ 3126 Prime Path 广度优先搜索 难度:0
http://poj.org/problem?id=3126 搜索的时候注意 1:首位不能有0 2:可以暂时有没有出现在目标数中的数字 #include <cstdio> #include ...
- RabbitMQ 基础类和概念讲解
转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼. ...