对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本:

最常用的查看磁盘剩余空间,这个属于DBA入门必记的东西:

-- 查看磁盘可用空间EXEC master.dbo.xp_fixeddrives

xp_fixeddrives方式有点是系统自带,可直接使用,缺点是不能查看磁盘总大小和不能查看SQL Server未使用到的磁盘信息

==============================================================

使用sys.dm_os_volume_stats函数

移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训

--======================================================================--查看数据库文件使用的磁盘空间使用情况WITH T1 AS (SELECT DISTINCTREPLACE(vs.volume_mount_point,':\','') AS Drive_Name ,CAST(vs.total_bytes / 1024.0 / 1024 / 1024 AS NUMERIC(18,2)) AS Total_Space_GB ,CAST(vs.available_bytes / 1024.0 / 1024 / 1024  AS NUMERIC(18,2)) AS Free_Space_GBFROM    sys.master_files AS fCROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id) AS vs
)SELECTDrive_Name,
Total_Space_GB,
Total_Space_GB-Free_Space_GB AS Used_Space_GB,
Free_Space_GB,CAST(Free_Space_GB*100/Total_Space_GB AS NUMERIC(18,2)) AS Free_Space_PercentFROM T1

移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训

网友评论