数据库未使用空间很大,但收缩数据库没作用

hgf9009 2015-05-13 08:14:31
RT:

使用了
DBCC SHRINKDATABASE(N'databasename',10,TRUNCATEONLY)
DBCC SHRINKFILE(N'filename',10,TRUNCATEONLY)
都没效果
...全文
376 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgf9009 2015-05-14
  • 打赏
  • 举报
回复
大概明白了,谢谢各位,分不多,散了
guguda2008 2015-05-14
  • 打赏
  • 举报
回复
是2008以上的版本吧 1.完整备份数据库 2.设置数据库恢复模式为简单 3.收缩数据库 4.设置数据库恢复模式为完整 如果这样还不行,检查数据库文件的初始大小,如果是很大的,比如说5位数以上,就说明收缩完最小也是几十G,把这些数字改小就行了。
hgf9009 2015-05-14
  • 打赏
  • 举报
回复
只有执行这个不带参数的收缩数据库之后,然后才有效果,但空间只释放了一点,然后再用带参数的执行一次,未使用空间才会完全释放,这是为啥?
tcmakebest 2015-05-14
  • 打赏
  • 举报
回复
DBCC SHRINKDATABASE(databasename)
tcmakebest 2015-05-14
  • 打赏
  • 举报
回复
楼主这个适用于SQL2008
USE [master]
GO
ALTER DATABASE databasename SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE databasename SET RECOVERY SIMPLE   --简单模式
GO
USE databasename 
GO
DBCC SHRINKFILE (N'filename' , 11, TRUNCATEONLY)
GO
USE databasename
GO
ALTER DATABASE databasename SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE databasename SET RECOVERY FULL  --还原为完全模式
GO
gzlx 2015-05-13
  • 打赏
  • 举报
回复
checkpoint go DBCC SHRINKFILE (XXXX_Data , 300 ) DBCC SHRINKFILE (XXXX_log , 1 , TRUNCATEONLY) go

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧