LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL Server2000删除日志释放磁盘空间

admin
2011年3月12日 23:59 本文热度 2846
在SQL Server2000中要删除日志释放磁盘空间得分两步进行:

·执行backup log语句来删除不活动日志,但此时磁盘空间并未释放;
·收缩数据库释放未使用的磁盘空间;

下边详细说明:

①.执行backup log语句删除不活动日志

执行sql语句:backup log Northwind with no_log,不活动日志将被删除,下图为sql语句执行前后数据库大小:





但在资源管理器中查看,你会发现剩余的磁盘空间并没有多出来,原因是日志删除了,但占用的空间未被释放,所以得再收缩下数据库来释放磁盘空间。

说明:这个步骤也有人是执行"dump transaction Northwind with no_log",但SQL Server2000帮助文件中说dump transaction和backup log是同义的,保险起见这两句可都执行一下。

SQL Server2000帮助相关说明:


 引用内容

DUMP DATABASE 和 DUMP TRANSACTION 语句与 BACKUP DATABASE 和 BACKUP LOG 语句同义。在以后的版本中可能会取消对 DUMP DATABASE 和 DUMP TRANSACTION 语句的支持。
考虑删除所有对 DUMP DATABASE 的引用,并替换为对 BACKUP DATABASE 的引用。考虑删除所有对 DUMP TRANSACTION 的引用,并替换为对 BACKUP LOG 的引用。


②.收缩数据库释放未使用的磁盘空间

收缩数据库会删除每个文件中未使用的页,以释放出磁盘空间。右键单击数据库,选择"所有任务→收缩数据库",点确定,你会看到剩余磁盘空间多了很多出来,数据库大小也变化了:



说明:第②步操作也可以通过执行sql语句"dbcc shrinkdatabase(Northwind,1) "来进行,但实际发现执行非常慢!后测试可使用dbcc shrinkfile(n)语句,速度快很多,n的值可执行'select * from sysfiles"来获取!

总结t-sql:



 程序代码

/*第一步:查询出文件编号,修改@fileid值*/
select * from sysfiles

/*第二步:删除日志并释放空间*/
declare @table nvarchar(50),@fileid int
set @table = 'Northwind'
set @fileid = 2

dump transaction @table with no_log
backup log @table with no_log
dbcc shrinkfile(@fileid)

该文章在 2011/3/12 23:59:36 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved