首页 > 代码库 > SQL Server 查看空间使用情况的 5 种方法

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

解决方法:

方法 1、sp_spaceused

方法 2、dbcc sqlperf

方法 3、dbcc showfilestats

方法 4、dbcc showcontig

方法 5、sys.dm_db_partiton_stats

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

 

方法 1、 

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

                 

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

                 

         小心: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);

                  

方法 3、 

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

           dbcc showfilestats;

                  

方法 4、

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

             dbcc showcontig(‘dbo.Nums);

                    

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

                    

小结:

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

 

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