首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在对一个巨大的表进行页面压缩之后,磁盘空间没有改变。我需要任何形式的收缩吗?

在对一个巨大的表进行页面压缩之后,磁盘空间没有改变。我需要任何形式的收缩吗?
EN

Database Administration用户
提问于 2018-07-12 13:16:13
回答 1查看 302关注 0票数 0

MSSQL:每天有一个2GB的分区表,我们需要通过页面压缩来压缩这个表。压缩后,如果从表属性-存储中检查,表的大小就会变小。但是在压缩之后,磁盘空间并没有发生任何变化。我需要在磁盘上获得一些空间,并想知道缩小任何类型(文件、数据库)是否会有帮助。

我想听听你的建议。谢谢

EN

回答 1

Database Administration用户

发布于 2018-07-12 14:31:51

为了回收磁盘空间,您必须使用SHRINKFILE。通常关于发生的数据碎片和需要重建索引以解决该碎片的警告适用。

下面是一个示例查询,用于确定哪个分区位于哪个文件组上。(从确定表的文件组借来)

代码语言:javascript
复制
SELECT OBJECT_SCHEMA_NAME(t.object_id) AS schema_name
    ,t.NAME AS table_name
    ,i.index_id
    ,i.NAME AS index_name
    ,p.partition_number
    ,fg.NAME AS filegroup_name
    ,FORMAT(p.rows, '#,###') AS rows
FROM sys.tables t
INNER JOIN sys.indexes i
    ON t.object_id = i.object_id
INNER JOIN sys.partitions p
    ON i.object_id = p.object_id
        AND i.index_id = p.index_id
LEFT OUTER JOIN sys.partition_schemes ps
    ON i.data_space_id = ps.data_space_id
LEFT OUTER JOIN sys.destination_data_spaces dds
    ON ps.data_space_id = dds.partition_scheme_id
        AND p.partition_number = dds.destination_id
INNER JOIN sys.filegroups fg
    ON COALESCE(dds.data_space_id, i.data_space_id) = fg.data_space_id
ORDER BY p.partition_number
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/212014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档