MSSQL 监控数据/日志文件增长达成方法
发布时间:2021-12-02 20:26:50 所属栏目:教程 来源:互联网
导读:前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统
前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支撑吧,但是现在只有那些数据文件的当前大小信息,没有数据文件的历史增长变化信息,所以,今天就想实现这么一个功能,每天(频率可以调整)去收集一下数据文件的信息,放到一个表里面,这样方便我们分析数据文件的增长演变例程,甚至你可以将数据文件的增长幅度和业务变化关联起来分析.... 那么接下来就是我的设计思路和实现代码,目前只是简单实现,以后将继续优化,丰富一些功能。 首先我们创建一个表DiskCapacityHistory,用来保存数据库文件的历史增长变化信息: 复制代码 代码如下: USE msdb; GO IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE id = OBJECT_ID(N'') AND xtype='U') DROP TABLE DiskCapacityHistory; GO CREATE TABLE dbo.DiskCapacityHistory ( [Date_CD] INT , [DataBaseID] INT , [FileID] INT , [DataBaseName] sysname , [LogicalName] VARCHAR(32) , [FileTypeDesc] NVARCHAR(60) , [PhysicalName] NVARCHAR(260) , [StateDesc] NVARCHAR(60) , [MaxSize] NVARCHAR(32) , [GrowthType] NVARCHAR(8) , [IsReadOnly] INT , [IsPercentGrowth] SMALLINT , [Size] FLOAT , [Growth_MOM_RAT] FLOAT , [Growth_YOY_RAT] FLOAT , CONSTRAINT PK_DiskCapacityHistory PRIMARY KEY(Date_CD, DataBaseID, FileID) ); 复制代码 代码如下: EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '日期编码' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'Date_CD'; EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '数据库标识' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'DataBaseID'; EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '文件标识' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'FileID'; EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '数据库名称' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'DataBaseName'; EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '数据库逻辑名称' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'LogicalName'; EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '文件类型描述' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'FileTypeDesc'; EXEC sys.sp_addextendedproperty @name = N'MS_Description' , @value = '物理数据库文件' , @level0type = N'SCHEMA' , @level0name = N'dbo' , @level1type = N'TABLE' , @level1name = N'DiskCapacityHistory' , @level2type = N'COLUMN' , @level2name = N'PhysicalName'; (编辑:宿州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐