zoukankan      html  css  js  c++  java
  • 硬盘空间术语:unallocated, unused and reserved

    通过standard reports查看Disk Usage,选中Database,右击,选择Reports->Standard Reports->Disk Space Usage,截图如下

    在Disk Usage 报表中,Data Files Space Usage分为4部分:Index , Data,Unallocated 和 Unused。

    • Index 是Index 结构实际占用的space
    • Data 是table objects实际占用的space
    • Unused 是已经allocate 给db objects(index or table),但是objects未实际占用的space
    • Reserved 是table objects实际占用的space +Index Objects所占用的space + Unused space,可以理解为已经 allocate 给数据库objects使用的space。
    • Unallocated是没有allocate给任何db object的space,这部分space不属于任意object,没有被任何数据库object使用。如果有object需要space,可以从这部分space中allocate。
    • database file的total size = Reserved Space+Unallocated Space。

    Unallocated space是预留的存储空间,在DB运行时,如果有 object 需要空间,那么Sql Server直接将这部分space分配给object,而不用向OS申请额外的disk space。向OS申请额外的disk space会导致data file的grow,由于申请额外的disk space需要耗费一定的时间对space进行初始化,可能会导致transaction timeout,导致transaction失败而rollback。所以,良好的DB Design都会预留足够的disk space,即保持一定量的Unallocated space。

    如果Unallocated Space 过大,会导致Disk space exhaust,这时就需要shrink file,以free space。命令dbcc shrinkfile 释放的空间就是Unallocated space,释放之后,这部分空间返回给OS。

    数据库文件的存储空间分为两部分:

    • Unallocated  space:虽然数据库文件的空间,但是没有分配,无法使用。只有已经分配的空间才能用于存储数据;
    • Allocated space:已分配的空间,已分配的空间分为已使用的空间(used space)和未使用的空间(unused space)。
      • Unused space:已分配(allocated)的空间,但是没有存储任何数据,
      • used space:已使用的空间,分为数据空间和索引空间,分别用于促成你数据和索引。

    参考文档:

    Difference between unallocated and unused space

  • 相关阅读:
    让xamarin的Entry绑定时,支持Nullable类型
    xamarin.forms 绑定页面里指定元素的某个属性值
    俄文环境下,字符串转数字失败
    使用devstack安装openstack
    在linux中访问macos 下的分区。
    git 多用户多仓库配置
    Macos上 ProxyChains 的坑, 需要关闭 sip
    MacOS 的预览 Preview 打开pdf 容易卡死 解决方案
    一客户端使用多个密钥对登录多个主机的解决方案.
    MacOS 10.13.6 下装xcode 流程
  • 原文地址:https://www.cnblogs.com/ljhdo/p/5128259.html
Copyright © 2011-2022 走看看