大小SQL Server 占用硬盘容量的更新报告(sqlserver占硬盘)

随着SQL Server数据库日趋庞大,其对硬盘空间的占用也日益增多。因此,从容量管理的角度来看,跟踪SQL Server占用硬盘容量变化并作出及时响应是至关重要的。

一个有效更新SQL Server占用硬盘容量的报告,可以定期收集硬盘使用情况的统计信息,及时发现并解决硬盘空间不足的问题。具体步骤如下:

1、通过脚本获取每个数据库分配的空间,在以下示例中,OBJECT_NAME变量代表要扫描的数据库名称。

SELECT OBJECT_NAME(s.id) AS ‘DataBase Name’,

SUM(s.size) * 8. / 1024 AS [Size in MB]

FROM sys.master_files s

WHERE s.database_id > 4 — 仅打印用户数据库

AND OBJECT_NAME(s.id) = OBJECT_NAME

GROUP BY s.database_id

GO

2、根据收集的统计信息,使用EXEC()函数处理获取的结果,然后将结果存储在参数表中,便于数据的再利用;

DECLARE @count INT;

SET @count = (SELECT COUNT(*) FROM #Results);

DECLARE @row INT;

SET @row = 0;

WHILE @row

BEGIN

EXEC USP_UPate_DatabaseSize_Info @row;

SET @row = @row + 1;

END

GO

3、周期性地收集本地服务器容量数据,并把信息存在SQL Server中,以便进一步分析;

DECLARE @cmd VARCHAR(200);

SELECT @cmd = ‘wmic logicaldisk get size, freespace’

INSERT INTO #DB_size

EXECxp_cmdshell @cmd;

GO

4、更新硬盘容量使用情况报告,并将其保存在报表中,以及生成相应通知,以确保时刻掌握硬盘容量变化状态。

SELECT ds.DatabaseNames,

ds.FilesCount,

ds.SizeinMB,

om.FreeMB,

om.SizeMB

FROM #DataBaseSize ds

JOIN #OS_MSG om ON om.DriveName=ds.DriveName

GO

综上所述,定期更新SQL Server占用硬盘容量的报告,可以对磁盘使用率进行实时监控,预测及时发现容量不足问题,从而有效提升硬盘的使用效率,降低系统的运行风险。


数据运维技术 » 大小SQL Server 占用硬盘容量的更新报告(sqlserver占硬盘)