Chinaunix首页 | 论坛 | 博客
  • 博客访问: 399683
  • 博文数量: 60
  • 博客积分: 1082
  • 博客等级: 上士
  • 技术积分: 648
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-24 18:24
个人简介

奋斗的人,交心的人,碰见喷子,绝对不手软。

文章分类
文章存档

2015年(1)

2014年(18)

2013年(17)

2012年(21)

2011年(3)

分类: SQLServer

2013-04-23 15:27:00

SQL Server 2000要清理日志使用的是dump语句,但是在SQL Server 2008里,这个语句不再适用,如果日志文件很大,比如超过10G,就需要截断一下日志文件以加快sqlserver的运行速度。
在SQL Server2008里,方法改为:

有数据库 xxxxx 在 SQL Server 2008 下,日志文件已经超过10G。

以往使用的BACKUP语句-BACKUP LOG xx WITH NO_LOG 已经失效,经过查阅 MSDN 之后发现 MS 提供的标准截断日志语句已经变为了 “BACKUP LOG xxxx WITH COPY_ONLY”

使用语句 BACKUP LOG xxxxx to disk='x:\backpath\xx.bak'  成功将日志文件备份,并截断日志文件。这里x:代表你想要备份文件的盘符。

然后使用 DBCC SHRINKFILE (xxdb_log,2000)  收缩日志文件到 2G

总结:

完整的收缩日志文件的 T-SQL 语句:

BACKUP LOG to disk=<'backupfilename'>

DBCC SHRINKFILE (,2000)

GO

里面的x:\backpath是你备份的路径。

阅读(2712) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~