sqlserver数据库使用空间监控
数据库使用空间监控,并且每周发邮件预警,下面是操作步骤:
1:建立一张表
CREATE TABLE [_DBA].DBO.DB_USE_REPORT(server_name NVARCHAR(20),
database_name NVARCHAR(20), file_group NVARCHAR(20), logical_name NVARCHAR(30), physical_name NVARCHAR(200),
type_desc NVARCHAR(20), used_size_Mb int, allocated_size_mb int, max_size_Mb int, growth int, is_percent_growth int)
go
alter table [_DBA].DBO.DB_USE_REPORT add inserttime datetime default getdate()
2:在各个数据库每天收集一次数据
insert into [_DBA].DBO.DB_USE_REPORT
select @@SERVERNAME as server_name
,DB_NAME() as database_name
,case when data_space_id = 0 then 'LOG'
else FILEGROUP_NAME(data_space_id)
end as file_group
,name as logical_name
,physical_name
,type_desc
,FILEPROPERTY(name,'SpaceUsed')/128.0 as used_size_Mb
,size/128.0 as allocated_size_mb
,case when max_size = -1 then max_size
else max_size/128.0
end as max_size_Mb
,growth
,is_percent_growth,getdate()
from sys.database_files
where state_desc = 'ONLINE'
可以写成一个作业定时监控,每天定时插入数据。
3:创建存储过程发邮件出来每周report一次
USE [master]
GO /****** Object: StoredProcedure [dbo].[check_job_states] Script Date: 2017/2/7 11:20:13 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO -- =============================================
-- Author: maxiangqian
-- Create date: 20170207
-- Description: <monitor db use>
-- =============================================
CREATE PROCEDURE [dbo].[check_db_use] AS
BEGIN
DECLARE @tableHTML NVARCHAR(MAX) ;
SET @tableHTML =
N'<H1>DB USED Report Last Week</H1>' +
N'<table border="1">' +
N'<tr><th>database_name</th><th>used_size_Mb</th>' +
N'<th>allocated_size_mb</th><th>type_desc</th><th>inserttime</th>' +
--N'<th>Expected Revenue</th></tr>' +
CAST ( (
SELECT td =database_name , '',
td =used_size_Mb , '',
td =allocated_size_mb, '',
td =type_desc, '',
td =inserttime from [_DBA].DBO.DB_USE_REPORT where inserttime> (getdate()-7) order by [database_name],type_desc,inserttime desc
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX) ) +
N'</table>' ;
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'sendmail',
@recipients='729975475@qq.com;',
@subject = 'DB USED Report Last Week',
@body = @tableHTML,
@body_format = 'HTML' ;
END
GO
然后创建一个定时作业直接每周report一次就好了。
邮件预警的效果图如下:

好了,就这么多了。你们不点个赞吗,关于sqlserver+MySQL的技术问题,欢迎加入QQ群:291519319 共同探讨
sqlserver数据库使用空间监控的更多相关文章
- 解决sqlserver数据库表空间不自动释放问题
在项目中遇到了sql server数据库经过频繁地删减数据后,查询变慢的问题. 我把数据导到另一个库中,发现查询就很快. 查了下原因,根本原因是删除数据并不释放表空间,日志文件太过巨大的原因. 网上查 ...
- Zabbix+Orabbix监控oracle数据库表空间
Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标. 它提供了从众多 oracle 实例采集数据的有效机制,进而提供此信息的监 ...
- SQLServer数据库监控代码
SQLServer数据库监控代码: creation_time, total_worker_time, last_worker_time, max_worker_time, min_worker_ti ...
- 现在的SQLSERVER数据库监控软件有哪些?
现在的SQLSERVER数据库监控软件有哪些? 收集了一下当前SQLSERVER数据库监控软件,发现开源免费的真的是“没有” Questsoftware Quest's spotlight(收费) ...
- 如何查看SQLServer数据库每个表占用的空间大小?
如何查看SQLServer数据库每个表占用的空间大小? 创建存储过程: CREATE PROCEDURE [dbo].[sys_viewTableSpace]AS BEGIN SET NOCOUNT ...
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因
SQLServer数据库中开启CDC导致事务日志空间被占满的原因 转载 2017-04-01 投稿:mrr 我要评论 这篇文章主要介绍了SQLServer数据库中开启CDC导致事务日志空间 ...
- SQLServer性能优化之---数据库级日记监控
上节回顾:https://www.cnblogs.com/dotnetcrazy/p/11029323.html 4.6.6.SQLServer监控 脚本示意:https://github.com/l ...
- 【第二章】Zabbix3.4监控SQLServer数据库和H3C交换机思科Cisco防火墙交换机教程笔记
监控SQLServer数据库 SSMS执行相关SQL SQL模板命名规则 Zabbix客户端导入模板 添加SQLServer监控图形 SQLServer服务器关联模板 监控思科Cisco防火墙交换机 ...
- SQLSERVER 数据库性能的的基本
SQLSERVER 数据库性能的基本 很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据 ...
随机推荐
- oracle mysql的序列的新增、删除、修改及使用
序列的使用 参考文献: https://blog.csdn.net/meijory/article/details/51891529 1.序列介绍 序列: 是 oracle 提供的用于产生一系列唯一 ...
- solr的安装及配置详细教程/solr入门教程
1 solr的下载 从Solr官方网站(http://lucene.apache.org/solr/ )下载Solr最新版本,根据Solr的运行环境,Linux下需要下载solr-7.3.1.tgz, ...
- 遇到Caused by: java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider
今天在做spring和hibernate整合的时候遇到这个问题 网上搜找到这里有解决办法 http://blog.csdn.net/jueshengtianya/article/details/122 ...
- SpringMVC的json交互
一.注解说明 1.@RequestBody 作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内 ...
- Vim常用插件——前端开发工具系列
作为一名开发者,应该对编辑器之神Vim与神之编辑器Emacs有所耳闻吧.编辑器之战的具体细节有兴趣的童鞋可以google之. Vim最大的特点是打开速度快,功能强大,一旦掌握了其中的命令,编程过程双手 ...
- Java生成二维码和解析二维码URL
二维码依赖jar包,zxing <!-- 二维码依赖 start --><dependency> <groupId>com.google.zxing</gro ...
- JQ(查找)
1.由下级到上级再到下级 var aa=$("td:eq(0)").parents("tr").find("td:eq(1)"); 2.
- Python基础学习总结(八)
10.文件和异常 1.学习处理文件,让程序快速的分析大量数据,学习处理错误,避免程序在面对意外时崩溃.学习异常,异常是python创建的特殊对象,用于管理程序运行时出现的错误,提高程序的适用性,可用性 ...
- spring框架笔记
Spring实现依赖注入的两种方式: 1.构造方法注入 2.set方法注入,p标签注入 Spring中事务的两种实现方式: 编程式事务管理 声明式事务管理(推荐) Spring增强类型: Before ...
- PHP三维优先级运算
昨天去某大型公司面试,做了一套面试题,整套面试题的基础要求比较高,对于js的使用有一定的要求.在本次面试中碰到PHP三维运算优先级的问题,先看题: <?php $b=20; $c=40; $a= ...