MSSQL 监控数据/日志文件增长实现方法
, @value = '日期编码'
, @level2name = N'IsReadOnly';
GO , @level1type = N'TABLE'
, @level1name = N'DiskCapacityHistory'
, @value = '数据库标识'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level0type = N'SCHEMA'
同比: (指标当前值 - 指标值(去年月同一天))/ 指标值(去年月同一天) 。
, @level2name = N'FileTypeDesc';
, @level1name = N'DiskCapacityHistory'
GOGO
, @level1type = N'TABLE'
同比: (指标当前值 - 指标值 (上个月))/指标值(上个月)
CONSTRAINT PK_DiskCapacityHistory PRIMARY KEY(Date_CD, DataBaseID, FileID)
, @level2type = N'COLUMN'
[IsReadOnly] INT ,
[PhysicalName] NVARCHAR(260) ,
, @level0name = N'dbo'
环比: (指标当前值 - 指标值(上个月同一天))/ 指标值(上个月同一天) 。
(
, @level1name = N'DiskCapacityHistory'
, @value = '文件增长环比(%)'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level0type = N'SCHEMA'
[Size] FLOAT ,
, @level0name = N'dbo'
, @value = '文件标识'
);
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
其实如果关注每天的数据文件变化情况,这个代码里面的环比、同比其实意义不大,其实我们可以这样定义环比、同比:
, @level0name = N'dbo'
, @level1type = N'TABLE'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level0type = N'SCHEMA'
, @level2type = N'COLUMN'
[DataBaseID] INT ,
, @level0type = N'SCHEMA'
, @level0name = N'dbo'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level2name = N'PhysicalName';
, @level1name = N'DiskCapacityHistory'
, @level1type = N'TABLE'
, @level1type = N'TABLE'
, @level0name = N'dbo'
, @value = '文件增长类型'
[GrowthType] NVARCHAR(8) ,
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level0name = N'dbo'
, @level0type = N'SCHEMA'
, @level2type = N'COLUMN'
[LogicalName] VARCHAR(32) ,
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level2type = N'COLUMN'
, @level1type = N'TABLE'
, @level0type = N'SCHEMA'
, @level1name = N'DiskCapacityHistory'
, @level0type = N'SCHEMA'
, @level0type = N'SCHEMA'
复制代码 代码如下:
, @level0name = N'dbo', @level0name = N'dbo'
, @level0type = N'SCHEMA'
[DataBaseName] sysname ,
, @level0type = N'SCHEMA'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @value = '文件类型描述'
, @level2name = N'LogicalName';
, @value = '数据库名称'
[Growth_MOM_RAT] FLOAT ,
, @level1type = N'TABLE'
, @level1name = N'DiskCapacityHistory'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level2name = N'Growth_MOM_RAT';
, @level2type = N'COLUMN'
, @level2name = N'MaxSize';
, @level2type = N'COLUMN'
, @value = '是否按百分比增长'
, @level2type = N'COLUMN'
, @level0name = N'dbo'
, @value = '文件增长同比(%)'
, @level2type = N'COLUMN'
, @level0name = N'dbo'
, @level0name = N'dbo'
环比: (指标当前值 - 指标值(昨天))/指标值(昨天)。
, @level1name = N'DiskCapacityHistory'
, @level0type = N'SCHEMA'
, @level2name = N'IsPercentGrowth';
DROP TABLE DiskCapacityHistory;
, @value = '文件最大大小'
, @level0name = N'dbo'
, @level1name = N'DiskCapacityHistory'
复制代码 代码如下:
首先我们创建一个表DiskCapacityHistory,用来保存数据库文件的历史增长变化信息:, @level2type = N'COLUMN'
, @level1type = N'TABLE'
IF OBJECT_ID(N'sp_diskcapacity_cal') IS NOT NULL
当然,你也可以把这四个指标都加上,对比参考,侧重点不同而已。
, @level1type = N'TABLE'
[MaxSize] NVARCHAR(32) ,
[StateDesc] NVARCHAR(60) ,
, @value = '数据文件大小(GB)'
, @level1name = N'DiskCapacityHistory'
, @level2name = N'DataBaseID';
复制代码 代码如下:
, @level2name = N'DataBaseName';, @value = '是否只读类型'
, @level2type = N'COLUMN'
, @level2type = N'COLUMN'
, @level1name = N'DiskCapacityHistory'
, @level1name = N'DiskCapacityHistory'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支撑吧,但是现在只有那些数据文件的当前大小信息,没有数据文件的历史增长变化信息,所以,今天就想实现这么一个功能,每天(频率可以调整)去收集一下数据文件的信息,放到一个表里面,这样方便我们分析数据文件的增长演变例程,甚至你可以将数据文件的增长幅度和业务变化关联起来分析....
, @level0name = N'dbo'
[FileID] INT ,
, @level2name = N'Date_CD';
, @level0name = N'dbo'
, @level1type = N'TABLE'
, @level1type = N'TABLE'
, @value = '数据库逻辑名称'
DROP PROCEDURE sp_diskcapacity_cal;
[IsPercentGrowth] SMALLINT ,
IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE id = OBJECT_ID(N'') AND xtype='U')
, @level0type = N'SCHEMA'
GO
[Date_CD] INT ,
USE msdb;
, @level2type = N'COLUMN'
, @level1type = N'TABLE'
, @level2name = N'GrowthType';
, @level2type = N'COLUMN'
, @level2name = N'FileID';
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level2name = N'Growth_YOY_RAT';
, @level0type = N'SCHEMA'
, @level1name = N'DiskCapacityHistory'
, @level0type = N'SCHEMA'
[FileTypeDesc] NVARCHAR(60) ,
, @level1type = N'TABLE'
, @level2name = N'Size';
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
EXEC sys.sp_addextendedproperty @name = N'MS_Description'
, @level1type = N'TABLE'
CREATE TABLE dbo.DiskCapacityHistory
[Growth_YOY_RAT] FLOAT ,
, @value = '物理数据库文件'
接下来,我们创建存储过程,负责来收集、统计这些数据库的文件的相关信息。关于环比/同比,正常情况一般是:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/mssql/1737.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
SQL基本教程之行转列Pivo
时间:2021-01-20
-
region from hr.Employees union
时间:2021-01-20
-
有时候需要调整用户权限
时间:2021-01-19
-
(但使用 ORDER BY 子句并不
时间:2021-01-19
-
RAND()*10000)insert into Detail
时间:2021-01-19
-
OR 运算符:在两侧的查询
时间:2021-01-19
-
放假之前老大跟我提起了
时间:2021-01-19
-
数据库的运维计策剧本篇
时间:2021-01-19
热门文章
-
4.与聚合函数和 GROUP BY 子句有关的常见错
时间:2021-01-19
-
SQL Server安全(11/11):审核(Auditing)
时间:2021-01-09
-
sqlserver中查询横表变竖表的sql语句简析
时间:2020-12-08
-
SQL Server简单模式下误删除堆表记录恢复方
时间:2020-12-12
-
关于SQL Server查询语句的使用
时间:2020-12-13
-
MSSQL教程_mssql数据库教程_MSSQL基础教程_第
时间:2020-12-13
-
jdbc连接sql server数据库问题分析
时间:2020-12-10
-
详解SQL游标的用法
时间:2020-12-27
-
sql server 关于设置null的一些建议
时间:2020-12-28
-
mssql关于一个表格结构的另外一种显示(表
时间:2020-12-11
