truncate log后LOG文件会变小吗?

brucenan999 2009-04-27 10:57:10
书上说在full recovery模式下backup log文件,log文件会被truncated,我的理解它会变小,但是我试了之后发现文件大小并没有变小.我的理解不对吗?
...全文
169 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
brucenan999 2009-04-27
  • 打赏
  • 举报
回复
嗯,清楚了.谢谢.
烈火蜓蜻 2009-04-27
  • 打赏
  • 举报
回复
不会变小,但是空间却可以省出来,给将来的log用,你要收缩的话,要用命令

backup log 数据库名 with no_log
dbcc shrinkdatabase('数据库名')
taoistong 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 brucenan999 的回复:]
那如果不backup log,就用 SHRINKFILE,又是什么情况呢?
[/Quote]


没什么情况,shrinkfile只不过把物理空间还是排列了一下,数据还是那些数据,日志还是那些日志。
而BACKUPLOG 就把LOG备份后,重新开始记录,也就是LOG文件少了,但是数据文件还是那么大。
claro 2009-04-27
  • 打赏
  • 举报
回复
DBCC SHRINKDATABASE(N'数据库' )
GO
claro 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 brucenan999 的回复:]
那如果不backup log,就用 SHRINKFILE,又是什么情况呢?
[/Quote]直接收缩即可,不用备份日志。
brucenan999 2009-04-27
  • 打赏
  • 举报
回复
那如果不backup log,就用 SHRINKFILE,又是什么情况呢?
usher_gml 2009-04-27
  • 打赏
  • 举报
回复
变小的话..DBCC SHRINKFILE(NAME,SIZE)
sdhdy 2009-04-27
  • 打赏
  • 举报
回复
是会被truncated,但是空间还在,所以你还要收缩文件:参考这个“
方法1、
--在查询分析器,选中所要清理日志的数据库,执行如下SQL
backup log 数据库名 with no_log
DBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小)

在当前数据库下
select fileid,groupid,name from sysfiles where groupid=0
/*
----------------------------------------
得到以下结果
fileid groupid name
2 0 test_log
*/

--以上结果,fileid为日志文件ID,name为test_log

你可以
backup log test with no_log
dbcc shrinkfile (2,2)
or
backup log test with no_log
dbcc shrinkfile ('test_log',2)
--***********************************************************************************************
如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复 模型 选择 简单模型就可以了!
或用SQL语句
alter database 数据库名 set recovery simple
--============================================================================================================
如果把还原模型调到简单,这样就不支持时间点还原了,但是日志文件会很小,如果数据比较重要推荐还是把数据库的还原模型调为完全。
--************************************************************************************************

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧