暂无图片
分享
龙镇君
2024-08-16
sqlserver 数据库truncate一张100G的表,已经对数据收缩和数据库收缩,磁盘空间没释放,怎么处理?

sqlserver 数据库truncate一张100G的表,已经对数据收缩和数据库收缩,磁盘空间没释放,怎么处理?

收藏
分享
1条回答
默认
最新
伟鹏

truncate table 可以清空数据,但是分配给该表的空间并不会立即释放回数据库或操作系统。这是因为SQL Server为了提高性能,会保留已分配的页,以防将来需要快速扩展数据。这意味着即使你进行了收缩操作,磁盘上的空间可能仍不会立即释放,尤其是如果数据库的自动增长设置为较小的增量值。

在SQL Server Management Studio中,右击数据库 -> “任务” -> “收缩” -> “文件”,然后选择你想要收缩的文件,调整目标大小

另外如果数据库处于“完整”恢复模式,可能需要备份事务日志,然后进行收缩。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
sql server一张表数据量过大,大概7000W的样子,每天还在不断的增加 除了加索引,还有什么好的优化方案吗?
回答 1
已采纳
固定好查询场景。不是任何字段都作为维度查询。固定好以后,看看这些的索引对不对。效率如何(执行计划)、然后看看有没有分页、排序等处理的如何?
sql server本身有什么类似于navicat的数据传输工具用来做数据迁移?
回答 5
MicrosoftSQLServerManagementStudio这个工具本身也可以实现你说的功能。
2016的bak在2008数据库中还原提示介质簇结构不正确,这个有啥解决办法吗?
回答 1
已采纳
直接还原是不可能的啊。你可以通过生成脚本或企业管理自带DTS导表来恢复。
在SQL server数据库的SQL Server Management Studio界面怎么关闭其中一个实例?
回答 1
打开SSMS并连接到SQLServer实例。在“对象资源管理器”中,右键单击要停止的SQLServer服务,然后选择“属性”。在“属性”对话框中,选择“常规”选项卡。在“启动类型”下拉列表中,选择“禁
SQL Server 2016 中的 SP2 和 CU 有什么区别?如果安装 SQL Server 2016 应该打哪个补丁,实现安装了最新的补丁?
回答 2
已采纳
SP是最大的补丁集,相当于包含CU;CU算是小的,每8个星期发布一次;当然SP整合之后也会发CU,也会再整合成SP;其实目前2016最新的补丁包是SP3
每天下午5点,自动导出phpmyadmin内的sql server数据库,保存到指定位置,有什么办法?
回答 4
创建维护计划,定时执行作业即可,注意相关文件位置的权限即可
sqlserver 日志占用很高,一般都怎么处理的?
回答 1
已采纳
很多是拆分或者建立新的日志
Sql server代理服务如何改成自动?
回答 1
已采纳
托盘有一个勾选项。选中代理服务再勾选启动就可以啦
sql server向开源数据库迁移?
回答 5
学习了,这么多方法,之前也没太注意过,学习了学习了
电脑以前装过sql server2019,然后之后又删了,然后现在想重新装装不上了,请问该怎么办呀?
回答 3
已采纳
注册表,文件夹都清干净。就可以了。