社区
疑难问题
帖子详情
unallocated space无法释放问题[紧急]
ChengKing
2012-10-19 09:38:48
sql server 2008 r2
使用sp_spaceused命令发现:
unallocated space
非常大,50G中有35G是 unallocated space 这个应当怎么释放掉?
用一般的数据库和文件收缩无法释放。
谢谢!
...全文
1253
19
打赏
收藏
unallocated space无法释放问题[紧急]
sql server 2008 r2 使用sp_spaceused命令发现: unallocated space 非常大,50G中有35G是 unallocated space 这个应当怎么释放掉? 用一般的数据库和文件收缩无法释放。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SQL77
2012-10-22
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
已经解决了此问题。 原因是数据文件 中有一个page坏掉了,通过pageid查询不到这个页的所属(table/index etc),这个页是一个死页。
把数据全部导到新库(根据pageid得不到是哪个对象的数据,所以只能全导了),不受那个坏页的限制了,这样解决就好。
shrinkfile执行过程中出错是因为这个操作试图移动extent时报错,而extend中包含那个坏页。导数据的方式是……
[/Quote]
GX。。。
所以一般都要定期DBCC CHECKDB()进行检查。如果有出错。可进行适当修复。
ChengKing
2012-10-22
打赏
举报
回复
已经解决了此问题。 原因是数据文件 中有一个page坏掉了,通过pageid查询不到这个页的所属(table/index etc),这个页是一个死页。
把数据全部导到新库(根据pageid得不到是哪个对象的数据,所以只能全导了),不受那个坏页的限制了,这样解决就好。
shrinkfile执行过程中出错是因为这个操作试图移动extent时报错,而extend中包含那个坏页。导数据的方式是复制,而不是移动所以不会出错。
lyhabc桦仔
2012-10-20
打赏
举报
回复
如果数据库有完整备份,使用备份来恢复数据库
如果没有备份使用DBCC CHECKDB
使用dbcc checkdb 的repair_rebuild参数:不丢失数据
不行的话使用repair_allow_data_loss :有可能丢失数据
lyhabc桦仔
2012-10-20
打赏
举报
回复
运行DBCC CHECKDB检查一下数据库
ChengKing
2012-10-20
打赏
举报
回复
在使用中 unesed空间一般比 unallocated 空间难 回收,要涉及到对表进行聚焦索引整理。 但这里问题比较奇怪,在SHRINKFILE执行过程中又出现一个下面错误:
---------------------------------------------------------------------------
DBCC SHRINKFILE: 无法移动页1:5362183,因为该页所属的分区已删除。
(1 行受影响)
DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。
(1 行受影响)
DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。
---------------------------------------------------------------
运行了几秒钟就提示如上错误。根据 我现在的分析怀疑很可能是 文件损坏导致错误了。 这个页所在分区找不到,致后面的所有 分区称动都没有执行。 导致这个移动事务失败。
汤姆克鲁斯
2012-10-19
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
Reserved下面的unused可以通过重建聚焦索引解决,但对unallocated space没有用。这些方法都试过了。
现在想释放掉:unallocated space,还有没有好的办法?
[/Quote]
整理完索引碎片了吗
写个循环多次运行DBCC SHRINKFILE
declare @i int=1
while @i<500
begin
DBCC SHRINKFILE(1,100)
DBCC SHRINKFILE(2,0)
set @i=@i+1
waitfor delay '00:00:10'
end
發糞塗牆
2012-10-19
打赏
举报
回复
重建了索引,能把数据重组。这样有可能空出某些区,由于收缩是基于区一级的操作。所以收缩起来才有意义,如果本来可以集中在一个区的数据零散分布于多个区,收缩是没有效果的。
KevinLiu
2012-10-19
打赏
举报
回复
你指定收缩的TARGET了吗?
ChengKing
2012-10-19
打赏
举报
回复
Reserved下面的unused可以通过重建聚焦索引解决,但对unallocated space没有用。这些方法都试过了。
现在想释放掉:unallocated space,还有没有好的办法?
KevinLiu
2012-10-19
打赏
举报
回复
不重建索引的话可能根本收缩不了的,SQL Server管理数据库文件的级别是区,重建索引可以腾出很多空区,这样就可以收缩掉了。
如果是HEAP表的话建议重新创建表然后将数据导入到新表然后改名,否则可能无法收缩。
汤姆克鲁斯
2012-10-19
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
重建一下聚集索引再收缩咯
[/Quote]
应该是先收缩,在重建索引吧,收缩之后会产生索引碎片的
百年树人
2012-10-19
打赏
举报
回复
在频繁进行增删的表上重建索引试试
dbcc dbreindex('表名','',90)
發糞塗牆
2012-10-19
打赏
举报
回复
重建一下聚集索引再收缩咯
汤姆克鲁斯
2012-10-19
打赏
举报
回复
EXEC sp_spaceused @updateusage='true'
汤姆克鲁斯
2012-10-19
打赏
举报
回复
dbcc shrinkfile
对数据库文件和日志文件分别收缩
另外使用sp_spaceused的时候
exec sp_spaceused true 这样会更新一下统计信息
不加true你看到的可能不是最新的
ChengKing
2012-10-19
打赏
举报
回复
sql server 2008 r2
使用sp_spaceused命令发现:
unallocated space
非常大,50G中有35G是 unallocated space 这个应当怎么释放掉?
[分配的保留空间只占25%左右,但未分配空间太大了,怎么释放掉]
用一般的数据库和文件收缩无法释放。
比较急,各位有没有好的办法
--------------------------------------------------------------------------------
xuam
2012-10-19
打赏
举报
回复
DBCC SHRINKFILE (DB_log, n)
极品老土豆
2012-10-19
打赏
举报
回复
....那是未分配的空间。。。
UOS全盘安装后磁盘分区调整与扩容实战指南
磁盘分区是操作系统存储管理的基础概念,它决定了数据在物理磁盘上的组织方式。其核心原理是通过分区表划分磁盘空间,形成独立的逻辑单元,每个分区可格式化为特定文件系统。这项技术的价值在于实现存储资源的灵活分配、数据隔离与系统性能优化。在Linux系统中,分区调整是常见的运维场景,特别是在全盘安装后需要重新规划存储空间时。本文以统信UOS系统为例,深入解析如何在不重装系统、不丢失数据的前提下,通过GPart
ed
工具进行分区收缩、创建与挂载操作,实现根分区空间
释放
与数据盘扩容,解决全盘安装后存储空间分配不合理的痛点。
Linux误删文件恢复:基于ext4 inode的时间戳精准抢救
在Linux系统中,文件删除本质是
释放
inode与数据块的映射关系,而非擦除原始数据——这是ext4等日志型文件系统底层的核心原理。理解这一机制,才能突破传统恢复工具(如extundelete)对目录项的依赖局限,转而通过时间戳定位刚被注销的inode。该技术路径具备强工程实用性:无需备份、不依赖文件名、绕过易损元数据,特别适用于生产环境突发误操作场景。本文聚焦于CentOS/Ubuntu等主流发行版下的实战恢复链路,深度融合debugfs、i
cat
、dumpe2fs等内核级工具,结合ctime筛选与raw
SSMS 22 系统数据库解析:master、msdb 等 4 库的 5 个关键维护场景
本文深入解析SQL Server Management Studio (SSMS) 22中的四大系统数据库(master、model、msdb和tempdb)的关键功能与维护策略。通过5个典型维护场景的实战演示,包括master数据库灾难恢复、msdb历史记录清理、tempdb性能调优等,帮助DBA掌握系统数据库的核心管理技术,确保SQL Server实例的稳定运行。
SQL Server 2019 Developer
Ed
ition 自定义安装与深度配置实战指南
数据库安装与配置是构建稳定数据服务环境的基础环节,其核心在于理解数据库引擎的服务原理与系统资源的协同机制。通过合理的自定义配置,可以有效规划数据文件、日志文件及临时数据库的存储路径,从而优化I/O性能并避免系统盘空间耗尽。在工程实践中,这直接关系到后续应用的稳定性和可维护性。对于SQL Server这类主流关系型数据库,掌握其安装过程中的实例配置、身份验证模式(尤其是混合模式)设置以及关键服务(如SQL Server代理)的管控,是DBA和开发者的必备技能。本文聚焦于SQL Server 2019 Deve
基于风光储能和需求响应的微电网日前经济调度(Python代码实现)
内容概要:本文系统介绍了基于风光储能和需求响应的微电网日前经济调度模型的Python代码实现方法,深入探讨了如何整合风能、太阳能、储能系统及需求响应等多种资源,构建综合优化调度模型。文章详细阐述了模型的构建逻辑、目标函数设计、约束条件处理及求解算法实现过程,重点解决了可再生能源出力不确定性与负荷波动带来的调度挑战。通过Python编程实现了完整的调度仿真,提供了详尽的代码示例与实验结果分析,验证了该方法在降低运行成本、提高能源利用效率方面的有效性与实用性。; 适合人群:具备一定Python编程基础和电力系统专业知识的科研人员、电气工程领域工程师及高校研究生。; 使用场景及目标:①深入理解微电网经济调度的核心原理与建模技术;②掌握利用Python进行电力系统优化
问题
的编程实践与仿真分析技能;③为相关科研课题或实际工程项目提供可复用的技术方案与代码支持。; 阅读建议:读者应在学习过程中结合所提供的完整代码实例,亲自运行并调试程序,深入剖析各功能模块的实现细节,理解优化模型与算法的内在机制,并可根据具体应用场景对模型进行扩展与改进。
疑难问题
22,296
社区成员
121,726
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章