admin 管理员组文章数量: 1184232
2024年4月14日发(作者:东郊到家源码下载)
有用的SQL语句
关键是要在截断日志之前做一次完整备份。做完整备份的时候,用参数WITH NO_LOG;
然后执行收缩数据库的操作。
BACKUP DATABASE [ado] TO DISK = N'C:Program FilesMicrosoft SQL
' WITH NOFORMAT,
NOINIT, NAME = N'ado-完整数据库备份', SKIP, NOREWIND, NOUNLOAD, STATS
= 10 ;
BACKUP LOG [ado] TO DISK = N'C:Program FilesMicrosoft SQL
' WITH NO_LOG;
GO
USE [ado];
GO
DBCC SHRINKDATABASE(N'ado');
执行结果为:
SQL Server 事务日志的收缩和截断
SQL Server中事务日志的作用:持续记录数据库所有的事务和这些事务对数据库所做
的修改;一旦数据库出现灾难事件,就需要事务日志来进行近期数据的恢复操作。但是,在
此条件下受益的同时也要付出相应的代价:在活动数据库中,事务日志会消耗大量的存储
空间,假如你不做任何的干预,事务逻辑日志将会一直增长,直到塞满存储这些日志文件
的所有可用空间。下面我们来详细介绍SQL Server提供的两个用来平衡事务日志对空间
巨大需求的操作:收缩事务日志和截断事务日志。
◆日志收缩
截断日志虽然确实从日志文件中清除了事务,但它并不会真正的减小物理日志文件的
大小。SQL Server希望事务日志最终会扩展到其截断前的大小,所以截断不会释放已经分
配给日志的硬盘空间。如果你的日志在某一时刻人为地扩展到某个大小,却再也无法恢复
到这个大小的话可就麻烦大了。
在这种情况下,要释放硬盘物理空间做其他用途,就要手动进行事务日志文件收缩操
作。你可以使用下面的T-SQL命令实现日志文件的收缩:
DBCC SHRINKFILE(,)
上面命令中的desired_shrink_size指的是你想要回收的硬盘空间大小(以MB为单位)。
你可以在执行完事务日志截断操作之后立即回收大部分的磁盘空间。
◆日志截断
版权声明:本文标题:截断数据库日志方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713083540a619027.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论