在线求救:如何收缩数据库中未用的表空间 压缩数据库:DBCC SHRINKDATABASE (数据库名)压缩表:DBCC UPDATEUSAGE ('数据库名', '表名', '表主键') 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你只要找到占用空间比较大的表进行压缩就可以了并不需要压缩所有的表查询每个表的使用空间:-- drop table #tbcreate table #tb(表名 sysname,记录数 int,保留空间 varchar(10),使用空间 varchar(10) ,索引使用空间 varchar(10),未用空间 varchar(10))insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''select * from #tborder by cast(left(使用空间,len(使用空间)-3) as numeric) --先备份数据库--截断事务日志backup log 数据库名 with no_loggo--收缩数据库dbcc shrinkdatabase(数据库名)go backup log 数据库名 with no_loggo--收缩数据库dbcc shrinkdatabase(数据库名)go按照这种方法已经处理过很多遍了,但是没有实际效果 这个问题我曾经也遇到过,就是怎么收缩都不管用.过那是SQL97版,具体解决办法是用将数据库增长限制,然后用一张大数据的临时表不断交换数据,重复使用该方法.日志文件会不断减少. 可否将excel工作簿作为一条数据存入mssql数据库 SQL 怎样在企业管理器添加外键 left join问题 无法连接sql server SQL server 2000 sql server中的last函数 急急!!!! 紧急求助 vfp问题? 急,请问有函数可取字符串后面N位字符吗?在线等待 SQL 2008 如何获取存储过程返回数据 的 列名 SQL SERVER复制问题 满脸流泪跪求SQL挂起解决方案!!!急!!!
并不需要压缩所有的表查询每个表的使用空间:-- drop table #tb
create table #tb(表名 sysname,记录数 int,
保留空间 varchar(10),使用空间 varchar(10)
,索引使用空间 varchar(10),未用空间 varchar(10))insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''
select * from #tb
order by cast(left(使用空间,len(使用空间)-3) as numeric)
--先备份数据库--截断事务日志
backup log 数据库名 with no_log
go--收缩数据库
dbcc shrinkdatabase(数据库名)
go
go--收缩数据库
dbcc shrinkdatabase(数据库名)
go
按照这种方法已经处理过很多遍了,但是没有实际效果