SQL Server 查看空间使用情况的 5 种方法

时间:2021-07-02 17:16:32

解决方法:

方法 1、sp_spaceused

方法 2、dbcc sqlperf

方法 3、dbcc showfilestats

方法 4、dbcc showcontig

方法 5、sys.dm_db_partiton_stats

--------------------------------------------------------------------------------------------------------------------------------------------------------------

方法 1、

execute sp_spaceused; 不带参数时返回当前数据库空间的整体使用情况。

SQL Server 查看空间使用情况的 5 种方法

execute sp_spaceused @objname='dbo.Nums';返回指定对象的空间使用信息

SQL Server 查看空间使用情况的 5 种方法

小心:sp_spaceused 返回的结果是来自系统的统计信息的,但是统计信息的如果还没有更新的话,这样会使得sp_spaceused返回的结果不准确。

正因如此 sp_spaceused 还加了一个参数 @updateusage;

所以 sp_spaceused 的完整格式是  sp_spaceused @objname='objname',@updateusage='updateusage';记得加第二个参数的时候会影响

SQL server 的性能。最好空闲时才这样做。

方法 2、

dbcc sqlperf 它只是针对日志文件(返回当前SQL server 实例的所有数据库的日志信息)

dbcc sqlperf(logspace);

SQL Server 查看空间使用情况的 5 种方法

方法 3、

dbcc showfilestats 返回数据库中各个数据文件的空间使用情况(不包函日志文件)

dbcc showfilestats;

SQL Server 查看空间使用情况的 5 种方法

方法 4、

dbcc showcontig 返回对象以区(extent)为度量的空间使用信息

dbcc showcontig('dbo.Nums);

SQL Server 查看空间使用情况的 5 种方法

方法 5、 sys.dm_db_partition_stats ,为对象的每个分区(不是extent,如‘表分区’中指的分区)返回一行

SQL Server 查看空间使用情况的 5 种方法

小结:

也可以把返回的信息写入自定义表中,方便以后估计未来一段时间内。空间的使用情况。