您的位置:首页 > 数据库

sqlserver 2005备份不能够删除日志?

2008-10-30 14:26 204 查看
http://www.itpub.net/viewthread.php?tid=924872
DBCC SHRINKDATABASE
    ( database_name [ , target_percent ]
        [ , { NOTRUNCATE | TRUNCATEONLY } ]
    )

参数
database_name

是要收缩的数据库名称。数据库名称必须符合标识符的规则。有关更多信息,请参见使用标识符。

target_percent

是数据库收缩后的数据库文件中所要的剩余可用空间百分比。

NOTRUNCATE

导致在数据库文件中保留所释放的文件空间。如果未指定,将所释放的文件空间释放给操作系统。

TRUNCATEONLY

导致将数据文件中的任何未使用的空间释放给操作系统,并将文件收缩到上一次所分配的大小,从而减少文件大小,而不移动任何数据。不试图重新定位未分配页的行。使用 TRUNCATEONLY 时,忽略 target_percentis。
 
 
首先你说下..你凭什么说logfile没有被请空掉.....不能从文件大小上看....删除了日志文件并没有释放掉空间,而是在你收缩数据库之后才会变小的..你再试下看

日志截断之后, 删除日志有几种方式,缺省是不释放空间给操作系统的
除非你指定释放给操作系统才会看到日志文件有变小;

----给一段参考吧,尽管很简单, 但是就是有人搞不对,所以有必要放在这里------

USE Pubs
GO
BACKUP LOG Pubs WITH NO_LOG
GO
DBCC SHRINKFILE (2, 20)
GO

---这会将Pubs数据库物理日志文件的大小将减小到20M,如果逻辑日志大于20M,或者虚拟日志处于活动状态的文件大于20M,将收缩到活动日志或者逻辑日志的大小。
贴出我写的

---完全备份数据库事务日志
---截断事务日志
---收缩数据库
/*
backup log WebMisDZCG  TO disk = 'd:/Microsoft SQL Server/MSSQL/BACKUP/dzcg_20071229'
backup log WebMisDZCG  WITH NO_LOG
DBCC SHRINKDATABASE (WebMisDZCG,1)

--使用前注意确定 备份设备的路径,否则会直接收缩数据库,导致日志丢失
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息