我重建了一些高度分散的索引。在索引重建之后,我看到我使用的数据库空间减少了近50% (从77 gb减少到33 gb)。
这是正常行为吗?我没有自动心理医生打开-我丢失数据了吗?
注意:我的数据库文件中使用的空间减少了;数据库文件的实际物理大小不变。
命令,用于计算所使用的空间:
SELECT sum(CAST(FILEPROPERTY(name, ''SpaceUsed'') AS INT))/128.0 as Space_Used_MBselect @@version结果
Microsoft 2014 (SP2-CU11) (KB4077063) - 12.0.5579.0 (X64)
重建使用Ola Hallengren脚本执行的索引。使用的参数:
Databases = 'USER_DATABASES',
FragmentationMedium='INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE
',
FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
FragmentationLevel1 = 5, FragmentationLevel2 = 30, FillFactor=80,
UpdateStatistics = 'ALL', OnlyModifiedStatistics = 'Y', LogToTable = 'Y'" -b 发布于 2018-07-04 00:02:01
在进行索引维护/重建时,您不会丢失数据。由于数据是分段的,数据将被分散到聚集/非聚集索引中的多个叶页上,因为数据会随着时间的推移而被删除/更新,在原来的页面位置留下空白。重新组织/重建索引,通过重新排序页面中的数据并将空间释放回数据库以供将来使用,从而恢复空间。
发布于 2018-07-03 20:43:34
这是相当普遍的行为。您正在通过在叶级别中重新排序页来回收未使用的空间。
只是不要缩小您的数据文件,除非它是关键-您可能需要在未来的空间。您只是在浪费时间,将数据库碎片化并锁定表。
https://dba.stackexchange.com/questions/211264
复制相似问题