不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
SQL Server2000删除日志释放磁盘空间
编辑:dnawo 日期:2010-05-20
在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帮助相关说明:
引用内容
②.收缩数据库释放未使用的磁盘空间
收缩数据库会删除每个文件中未使用的页,以释放出磁盘空间。右键单击数据库,选择"所有任务→收缩数据库",点确定,你会看到剩余磁盘空间多了很多出来,数据库大小也变化了:

说明:第②步操作也可以通过执行sql语句"dbcc shrinkdatabase(Northwind,1) "来进行,但实际发现执行非常慢!后测试可使用dbcc shrinkfile(n)语句,速度快很多,n的值可执行'select * from sysfiles"来获取!
总结t-sql:
·执行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 的引用。
考虑删除所有对 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)
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)






评论: 0 | 引用: 0 | 查看次数: 6678
发表评论
请登录后再发表评论!