收缩数据库可以中途停止吗?

zcfemail 2014-02-12 08:16:34
数据库太大了,有100多個G的可以釋放空閒,想要收縮,現在已經收縮15個小時了,還沒完成,请问可以停止嗎?对数据库又有影响吗?
執行語句:
DUMP TRANSACTION TelODS WITH NO_LOG

BACKUP LOG TelODS WITH NO_LOG

DBCC SHRINKDATABASE(N'TelODS' )
...全文
2159 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-02-13
  • 打赏
  • 举报
回复
上班去。。。
發糞塗牆 2014-02-13
  • 打赏
  • 举报
回复
对了,对超大的表重建一下聚集索引,应该可以再收缩一部分空间,切记一下子收缩太多
發糞塗牆 2014-02-13
  • 打赏
  • 举报
回复
2008以上可以做压缩备份,如果是2008(含)以上,可能需要文件组备份了,但是这个要进行数据库文件系统的改动,你要考虑和评估好,不要随便做。
zcfemail 2014-02-13
  • 打赏
  • 举报
回复
引用 15 楼 DBA_Huangzj 的回复:
收缩了还很大?那磁盘管理就要注意了,如果做一个完整备份都不够空间的话你的服务器很危险
是的,收縮了做個完整備份,磁盤基本就沒空間了,完整備份下有個250多G,基本沒空間了。
發糞塗牆 2014-02-13
  • 打赏
  • 举报
回复
收缩了还很大?那磁盘管理就要注意了,如果做一个完整备份都不够空间的话你的服务器很危险
zcfemail 2014-02-13
  • 打赏
  • 举报
回复
引用 13 楼 DBA_Huangzj 的回复:
做个完整备份+日志备份
數據庫太大了,做完整備份沒有磁盤空間,還有沒有其它更好的辦法備數據?謝謝
直面人生 2014-02-12
  • 打赏
  • 举报
回复
可以,不过等等就好了, 都收缩15个小时了...
Mr_Nice 2014-02-12
  • 打赏
  • 举报
回复
如果在确定没有影响正常使用的情况下, 100G的可用空间,值得等待下去。 收缩停止,对应数据库没有特别的影响。 损失的,就只之前执行所用的这15个小时时间成本。 说不定再等一个小时,收缩就完成了。 目前为止,我碰到最长的等待大概在22小时左右。 不停业务的情况下。
LongRui888 2014-02-12
  • 打赏
  • 举报
回复
微软的sql server文档中写的,你可以输入 dbcc shrinkdatabase搜索,就有的: 可在进程中的任一点停止 DBCC SHRINKDATABASE 操作,任何已完成的工作都将保留。
發糞塗牆 2014-02-12
  • 打赏
  • 举报
回复
可以停止,没影响的,下次再收缩,建议100M一次来做
發糞塗牆 2014-02-12
  • 打赏
  • 举报
回复
做个完整备份+日志备份
zcfemail 2014-02-12
  • 打赏
  • 举报
回复
分批壓縮已經處理OK,在這謝謝各位
發糞塗牆 2014-02-12
  • 打赏
  • 举报
回复
引用 9 楼 zcfemail 的回复:
現在已經進行21個小時了,長時間這樣執行操作,數據庫會不會有其它異常呢?
太久了会有隐患,除非你的库一直处于维护模式,没有外部使用
LongRui888 2014-02-12
  • 打赏
  • 举报
回复
引用 9 楼 zcfemail 的回复:
現在已經進行21個小時了,長時間這樣執行操作,數據庫會不會有其它異常呢?
肯定会有问题的。 建议你停止收缩把,会影响性能的。
zcfemail 2014-02-12
  • 打赏
  • 举报
回复
現在已經進行21個小時了,長時間這樣執行操作,數據庫會不會有其它異常呢?
huhuapop 2014-02-12
  • 打赏
  • 举报
回复
引用 7 楼 yupeigu 的回复:
[quote=引用 6 楼 zcfemail 的回复:] [quote=引用 5 楼 dotnetstudio 的回复:] 这是你数据库确实太大的缘故,建议继续等待,最好是断开所有数据库连接后进行收缩
怎麼斷開數據庫連接??[/quote] 这个是把数据库切换到单用户模式,也就是其他用户的连接,都被断开了
use master
go

alter database 数据库
set single_user 
[/quote] 在使用此语句前,关闭所有调用数据库的程序,重启sqlserver 建议已经收缩了的继续等待, 其实在做收缩前做好进行测试,mssql 还是有一定的风险,特别在删除数据并收缩的时候
LongRui888 2014-02-12
  • 打赏
  • 举报
回复
引用 6 楼 zcfemail 的回复:
[quote=引用 5 楼 dotnetstudio 的回复:] 这是你数据库确实太大的缘故,建议继续等待,最好是断开所有数据库连接后进行收缩
怎麼斷開數據庫連接??[/quote] 这个是把数据库切换到单用户模式,也就是其他用户的连接,都被断开了
use master
go

alter database 数据库
set single_user 
zcfemail 2014-02-12
  • 打赏
  • 举报
回复
引用 5 楼 dotnetstudio 的回复:
这是你数据库确实太大的缘故,建议继续等待,最好是断开所有数据库连接后进行收缩
怎麼斷開數據庫連接??
KeepSayingNo 2014-02-12
  • 打赏
  • 举报
回复
这是你数据库确实太大的缘故,建议继续等待,最好是断开所有数据库连接后进行收缩

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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