SQL Server 2008下日志清理方法(非dump语句)
来源:互联网 发布:微信开发教程 java 编辑:程序博客网 时间:2024/06/05 15:35
每次看到暴涨的数据库日志就有些头大,于是乱搜一通找个办法把日志干掉,下次又头大,又搜半天,于是还是写篇blog,不用乱找了。
1.将数据库设置成 简单 模式
选择要收缩的数据库,点右键 属性->选项,选择 简单模式
2.选择任务->收缩->文件
3.选择日志
或者用如下语句
代码GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE
GO
USE DNName
GO
DBCC SHRINKFILE (N'LogFileName' , 0,TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL
GO
SQL Server 2000要清理日志使用的是dump语句,但是在SQL Server2008里,这个语句不管用了,如果日志文件很大,比如超过1G,就需要截断一下日志文件以加快sqlserver的运行速度,在SQL Server2008里,方法改为:
有数据库 xxdb 在 SQL Server 2008 下,日志文件已经超过1G。
以往使用BACKUP语句-BACKUP LOG xxdb WITH NO_LOG 已经失效,在查阅 MSDN 之后发现 MS 提供的标准截断日志语句已经变为了 “BACKUP LOG 语句不指定 WITH COPY_ONLY”
使用语句 BACKUP LOG xxdb to disk='x:\work\1.bak' 成功将日志文件备份,并截断日志文件。这里x:代表你想要备份文件的盘符。
然后使用 DBCC SHRINKFILE (xxdb_log,10) 收缩日志文件到 10M
总结:
完整的收缩日志文件的 T-SQL 语句:
BACKUP LOG xxdb to disk='x:\work\1.bak'
DBCC SHRINKFILE (xxdb_log,10)
GO
--
BACKUP LOG <db_name> to disk=<'backupfilename'>
DBCC SHRINKFILE (<log_filename>,10)
GO
里面的x:\work是随意设置的。当然也可以收缩到比如5M或1M。
- SQL Server 2008下日志清理方法(非dump语句)
- SQL Server 2008下日志清理方法
- SQL Server 2008下日志清理方法
- SQL server清理日志方法
- SQL SERVER 2008 日志清理
- SQL Server 2008 R2 下如何清理数据库日志文件
- SQL Server 2008 R2 下如何清理数据库日志文件
- SQL Server 2008 (2008 R2) 清理日志方法
- SQL Server 2008 (2008 R2) 清理日志方法
- SQL SERVER 清理日志
- SQL Server 日志清理
- Microsoft SQL Server 2008 清理日志文件
- 清理SQL Server 2008数据库日志
- SQL SERVER 2008的错误日志清理
- SQL Server 2008 清理数据库日志文件
- Sql server 2008R2 日志文件清理
- Sql server 2008R2 日志文件清理
- MS Sql Server 日志清理
- jQuery Ajax 全解析get/load/serialize()/Query.ajax( options )jQuery.getScript(()
- mysql设置字段唯一
- Linux最帅版主所经历的面试题,全部答对月薪10K+
- 批处理中setlocal enabledelayedexpansion的含义
- AdaBoost人脸检测训练算法 (上)
- SQL Server 2008下日志清理方法(非dump语句)
- setlocal 本地变量详解
- Android操作蓝牙
- 流媒体开发的有用网址收藏
- 妈妈与婆婆 眼睛湿润了
- 将 string形式的时间转化为 timestamp
- Hadoop科普文——常见的45个问题解答
- C语言文件结构
- 不使用框架,自定义定时任务(web)