社区
MS-SQL Server
帖子详情
频繁删除数据导致文件太大怎么办
lighting_pig
2012-10-17 06:01:05
我说的是数据文件,不是日志文件
日志文件我知道怎么干掉
数据文件一天可以增加几百兆。。
频繁删除的那个表 unused一天加个几百兆没问题
数据库收缩好像没用,shrinkdatebase之类的命令也没用,重建索引页没用
上网一查,大家都说要先把数据copy走,然后TRUNCATE ,然后把数据移回来,个人觉得这个挺恶心的,请问有啥更好的办法不?
...全文
182
16
打赏
收藏
频繁删除数据导致文件太大怎么办
我说的是数据文件,不是日志文件 日志文件我知道怎么干掉 数据文件一天可以增加几百兆。。 频繁删除的那个表 unused一天加个几百兆没问题 数据库收缩好像没用,shrinkdatebase之类的命令也没用,重建索引页没用 上网一查,大家都说要先把数据copy走,然后TRUNCATE ,然后把数据移回来,个人觉得这个挺恶心的,请问有啥更好的办法不?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lighting_pig
2012-10-18
打赏
举报
回复
昨天DBCC SHRINKFILE还可以,现在循环来搞不行了,原因不明。。估计还是有人用表的原因或其他未知问题。。。。
看起来这个世界唯一的正确办法就是 把数据copy走,然后TRUNCATE ,然后把数据移回来??
Ny-6000
2012-10-18
打赏
举报
回复
删除语句,不要用delete,而是TRUNCATE .
lighting_pig
2012-10-18
打赏
举报
回复
今天来汇报一下,DBCC SHRINKFILE (N'TEST' , 2)这个命令和DBCC SHRINKFILE(1)一样也是一次只收缩一点点,不是真的一次到位,不过,也一样搞个循环多运行几次就可以搞定。
现在明白了,之所有很多人说只能先把数据copy走,然后TRUNCATE ,然后把数据移回来,不能用DBCC SHRINKFILE 估计都是遇到了和我一样类似的问题,这个命令一次只能释放出一点点空间,如果不循环个几十上百次那是没效果的。
楼上说的先断开服务再收缩这是不行的,因为很多系统不能停的。
搞定结贴。
ycagri
2012-10-18
打赏
举报
回复
我一般是先断开服务,或是重启服务程序,断开应用程序,然后收缩
lighting_pig
2012-10-18
打赏
举报
回复
试了一下,还是应该把主键改成聚集索引,
然后定时任务,每晚重建聚集索引,然后DBCC SHRINKFILE
汤姆克鲁斯
2012-10-17
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
试了一下,发现DBCC SHRINKFILE好像还是起作用的,刚才上网查询的命令是
DBCC SHRINKFILE(1)
或
DBCC SHRINKFILE(表名)
我最开始试了试发现好像不起作用,其实仔细看小了一点点,
一怒之下写了个脚本
declare @i int
set @i=500
while @i>0
begin
dbcc shrinkfile(1)
set……
[/Quote]
这个不是一次收缩一点点
因为日志的空间可能被其他用户正在使用,所以就会看不到效果
过一会在执行一个命令可能就有效果了
更科学的方法是使用while 里面加一个 waitefor
以学习为目的
2012-10-17
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
试了一下,发现DBCC SHRINKFILE好像还是起作用的,刚才上网查询的命令是
DBCC SHRINKFILE(1)
或
DBCC SHRINKFILE(表名)
我最开始试了试发现好像不起作用,其实仔细看小了一点点,
一怒之下写了个脚本
declare @i int
set @i=500
while @i>0
begin
dbcc shrinkfile(1)
set ……
[/Quote]这样是有道理的,确实不能一次性收缩比率太大,避免可能引起的收缩故障。
先把数据copy走,然后TRUNCATE ,然后把数据移回来,个人觉得这个挺恶心的。其实这个也是一个没有办法的办法
發糞塗牆
2012-10-17
打赏
举报
回复
库大的话不建议一次性缩的太小,严重耗费I/O资源。特别在运行期间,一边收缩一边又要涨。你可以100M或者1G这样收缩。反而快一点
發糞塗牆
2012-10-17
打赏
举报
回复
无论是日志文件还是数据文件,由于DBCC SHRINKFILE 是作用在区而不是页上,如果你的数据分布零碎,那是无效的,重建/创建聚集索引,然后在DBCC SHRINKFILE,如果这个无效,把数据copy走,然后TRUNCATE ,然后把数据移回来这个是可行的,不恶心,微软技术支持都是这样说的。
开启时代
2012-10-17
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
例子:DBCC SHRINKFILE (N'TEST' , 2)
收缩数据库TEST 到2M大小。
应该可以收缩。
[/Quote]
这个如果库大的话 最好别在生产时间段执行。
lighting_pig
2012-10-17
打赏
举报
回复
试了一下,发现DBCC SHRINKFILE好像还是起作用的,刚才上网查询的命令是
DBCC SHRINKFILE(1)
或
DBCC SHRINKFILE(表名)
我最开始试了试发现好像不起作用,其实仔细看小了一点点,
一怒之下写了个脚本
declare @i int
set @i=500
while @i>0
begin
dbcc shrinkfile(1)
set @i=@i-1
end
GO
然后发现确实把unused空间全消掉了。。。。
挺搞笑的命令,居然一次只消一点点,简直就是恶心人。。。。
楼上说的例子:DBCC SHRINKFILE (N'TEST' , 2)我还没试,等明天多了几百兆再试这个命令看是不是可以只要运行一次...
SQL77
2012-10-17
打赏
举报
回复
把那个表的DBCC SHOWCONTIG(TB)给结果.
shoppo0505
2012-10-17
打赏
举报
回复
这个增加的空间可能用到index, constrain上了,重新整理一下index看看有没有用。
开启时代
2012-10-17
打赏
举报
回复
例子:DBCC SHRINKFILE (N'TEST' , 2)
收缩数据库TEST 到2M大小。
应该可以收缩。
lighting_pig
2012-10-17
打赏
举报
回复
上网查了一下,不知道是说如果数据库只有一个文件还是什么原因dbcc shrinkfile不起作用
我试了一下dbcc shrinkfile确实不起作用
汤姆克鲁斯
2012-10-17
打赏
举报
回复
定时进行收缩啊
dbcc shrinkfile
如何解决 GitHub 提交次数过多
导致
.git
文件
过大的问题?彻底
删除
git中的大
文件
问题 GitHub 上的仓库由于提交次数过多,
导致
clone 下来时 .git
文件
夹特别大,比代码本身大。 确定当前提交之前的修改历史都没有用了,用什么方法能清除之前的提交记录,让 clone 下来的 .git
文件
夹变小一点? git 如果提交一个
文件
,然后
删除
他,继续提交,那么这个
文件
是存在 git 中,需要使用特殊的命令才可以
删除
。 原因 & 解决方法 首先要注意尽量不要往git上提交二进制
文件
,二进制
文件
是不按diff保存的,即使提交了也不要每次改一点然后再提交一遍。如果全是文本文
mysql
删除
数据
,
导致
存在表空间碎片的解决方法
mysql
删除
数据
,
导致
存在表空间碎片的解决方法
linux
频繁
写
文件
内存增加的解决办法
最近在做一个采集视频流,直接写
文件
保存下来的东东。 最开始由于是用ffmpeg写的,没有这个问题,后来修改成直接
文件
操作写视频
数据
。 就出来了问题。 具体问题描述:http://blog.csdn.net/yysdsyl/article/details/2453206 大概就是linux 写
文件
太
频繁
了,会占用内存一部分作为cache, 以加快读取速度,写的越多,cache就越大,以至于
pycharm远程调试项目
文件
太大
导致
没有足够空间而连不上
不自觉的把大模型权重24G放在了项目
文件
夹,
导致
后台pycharm服务报错而不能远程调试。解决方法:1、移出大模型
文件
,项目
文件
只放代码2、清理本地临时
文件
目录缓存,或者在清理服务器临时
文件
目录缓存Jetbrains 缓存清理与安装优化jetbrains这些热门 ide,如pycharmwebstormgolandidea在操作系统上安装后的
文件
结构非常一致,并且升级
频繁
。在升级中版本以上时,会生成新版本的缓存
文件
目录,而旧版本临时
文件
就这样被遗留在电脑上。
Oracle调整
数据
文件
大小杂谈
ORACLE调整表空间调整表空间大小的SQLSQL分析DBA_EXTENTS表
数据
块
数据
块的增长计算实际大小行链接和行迁移高水位线HWM热块结束语 调整表空间大小的SQL SQL来源于网络,但是没保存下原作者的连接,在原作者的基础上稍微增加了一些中文的说明 ORACLE在使用过程中
数据
文件
会变得越来越大,有时候
删除
了冗余的
数据
仍然不会释放空间,此时需要调整
数据
文件
的大小。 select a.fil...
MS-SQL Server
34,874
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章