重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
清理sql server 2008日志步骤如下:
创新互联是一家专注于成都网站制作、网站建设与策划设计,峨边彝族网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:峨边彝族等地区。峨边彝族做网站价格咨询:13518219792
1.将数据库设置成 简单 模式
选择要收缩的数据库,点右键 属性-选项,选择 简单模式
2.选择任务-收缩-文件
3.选择日志
或者用如下语句
代码
USE [master]
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。
在用的:
USE[master]
GO
ALTERDATABASEYHDBSETRECOVERYSIMPLEWITHNO_WAIT
GO
ALTERDATABASEYHDBSETRECOVERYSIMPLE--简单模式
GO
USEYHDB
GO
DBCCSHRINKFILE(N'YHDB_log', 11,TRUNCATEONLY)
GO
USE[master]
GO
ALTERDATABASEYHDBSETRECOVERYFULLWITHNO_WAIT
GO
ALTERDATABASEYHDBSETRECOVERYFULL--还原为完全模式
GO
2.截断事务日志: BACKUP LOG 数据库名WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 也可以用SQL语句来完成 --收缩数据库 DBCC SHRINKDATABASE(客户资料) --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1) 代码如下复制代码backup, log, 模式 -- 第一步:清空日志 DUMP TRANSACTION [YZGA] WITH NO_LOG -- 第二步:截断事务日志 BACKUP LOG [YZGA] WITH NO_LOG -- 第三步:收缩数据库 尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完整差异备份之前,将无法为数据库提供媒体故障保护。只在非常特殊的情况下才手动截断日志,并立即创建数据备份。 删除日志方法二1、进入企业管理器,选中数据库,比如it,所有任务-分离数据库。2、如果数据库正在连接使用,要先点清除,才可以选确定。3、到数据库文件的存放目录,将it_log.LDF文件删除,不放心可以先拷到别的地方。4、进入企业管理器,数据库-所有任务-附加数据库。5、选择it_Data.MDF,这个时候你会看见日志文件这项是一个红叉,不要紧点确定。6、此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。
守得云开见月明,花了一个上午结合前辈的博客,终于弄好了sqlserver2008的数据库日志收缩到1MB,分享给大家# 方法步骤1、执行SQL语句改成“简单模式”2、收缩数据库3、执行SQL语句改回“完全模式”## 第一步:执行SQL语句改成“简单模式”USE [master]GOALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE --改成简单模式GO## 第二步:进行数据库操作相关界面截图和操作假定:数据库名:SlowXWebDB 日志文件名:SlowXWebDB_Log
数据库日志文件过大需要清理**1.选择数据库右键点击任务-收缩-文件 注意:文件类型选为日志**
2.如下图选择需要收缩的大小,最小为0MB,本人实测最小只能到1MB,不过已经很满足了哈哈**
3.点击确认,几十G的日志文件,嗖的一下就瘦身完成了****看下数据库日志文件清理后的效**果!
## 第三步:执行SQL语句改成“完全模式”USE [master]GOALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名)SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE datebaseName(改成你需要进行收缩的数据库名)SET RECOVERY FULL --还原为完全模式GO==最后不要忘记实测下数据库是否能够正常使用==
数据库日志大,说明数据库访问次数多,异常信息多,最好查看日志,跟踪一下异常情况。至于如何释放这些被占用的空间,收缩日志就可以了,数据库日志收缩的比率很大,一般1G在收缩后变成1M。