我们有几个表,每个表都有近 1 亿行数据。一位同事将这些表设置为基于日期字段的分区。
我们的磁盘空间开始不足并且知道分区有自己的文件组,我想看看某些分区是否比它们需要的大并且正在咀嚼磁盘。
我运行了记录不佳的命令:
dbcc showfilestats
Run Code Online (Sandbox Code Playgroud)
这是输出的片段:
TotalExtents UsedExtents Name FileName
363200 200701 LogJun2013 F:\SQL\DATA\logs_phyJun2013.ndf
812800 432127 LogJul2013 F:\SQL\DATA\logs_phyJul2013.ndf
718400 401500 LogAug2013 F:\SQL\DATA\logs_phyAug2013.ndf
1016983 555565 LogSep2013 F:\SQL\DATA\logs_phySep2013.ndf
Run Code Online (Sandbox Code Playgroud)
如果我正确理解这一点(IANADBA),考虑到大量未使用的范围,这些文件中有很多未使用的空间。此外,我们只收集新数据,因此我们永远不需要从 2013 年开始扩大这些旧分区。
我对此的理解是否正确?如果是这样,我该如何从这些文件中释放空间?