linux实时监控文件大小,Linux_监控 log文件大小的存储过程,1、监控log文件大小超过10g的ser - phpStudy...

监控 log文件大小的存储过程

1、监控log文件大小超过10g的server 和db

复制代码 代码如下:

create procedure db_sendmail_mssqllogsize

as

declare @sql varchar(max),@servername varchar(50),@px int;

DECLARE @xml NVARCHAR(MAX)

DECLARE @body NVARCHAR(MAX)

declare @a varchar(200)

declare @c datetime

select @c=getdate();

select

hostname

,px=ROW_NUMBER()over(order by (select 1))

into #temp

from DB_ALLHostInfo as x1

inner join sys.servers as x2

on x1.hostname=x2.name

where isactive=1;

select @px=px,@servername=hostname from #temp where px=1;

while @@ROWCOUNT>0

begin

set @sql=

'insert into db_alldb_logsize

select *,cast(convert(char(8),GETDATE(),112) as datetime) as gdate ,'''+@servername+''' from openquery('+QUOTENAME(@servername)+',''select DB_NAME(database_id) as dbname,name as logname,round(cast(size as float)*8/1024,3) as [logsize(mb)],state_desc,physi

cal_name, is_percent_growth,growth,max_size

from

master.sys.master_files

where type_desc=''''log''''

and DB_NAME(database_id) not in(''''master'''',''''tempdb'''',''''msdb'''',''''reportserver'''',''''reportservertempdb'''',''''distribution'''',''''model'''')

and DATABASEPROPERTY(DB_NAME(database_id),''''IsReadOnly'''')<>1'') as b;'

execute(@sql)

select 1

select top(1) @px=px,@servername=hostname from #temp where px>@px

end;

set @xml=cast((select J.servername as 'td','', isnull(J.dbname,'\') as 'td','', J.logname as 'td','' ,cast([logsize(mb)] as varchar(20))as 'td',''

,state_desc as 'td',''

,physical_name as 'td',''

,case when max_size =0 then '不允许增长' when max_size=-1 then '文件将一直增长到磁盘变满为止' when max_size=268435456 then ' 日志文件将增长到最大大小 2 TB' end as 'td',''

,case when is_percent_growth =1 then '以按百分比'+cast(growth AS varchar(3))+'%' when is_percent_growth =0 then ' 以按大小'+cast(growth*8/1024 AS varchar(50))+'(mb)增长' end as 'td',''

,convert(char(8),gdate,112) as 'td',''

from db_alldb_logsize as j where gdate=cast(CONVERT(char(8),getdate(),112) as datetime) and [logsize(mb)]>=10240

FOR XML PATH('tr'), ELEMENTS) AS NVARCHAR(MAX)) ;

set @a='Mssqllog运行结果_'+convert (varchar(50),convert(varchar(5),YEAR(getdate()-1))+'年'+convert(varchar(2),month(getdate()-1))+'月'+convert(varchar(2),day(getdate()-1)))+'日'

--print @a

SET @body ='

'+convert(varchar(5),YEAR(getdate()) )+'年'+convert(varchar(2),month(getdate()))+'月'+convert(varchar(2),day(getdate()))+'Mssqllog运行结果

服务器ip数据库日志文件名日志文件大小(mb)状态物理路径增长类型增长状态日期

if @xml is not null SET @body = @body + @xml +'

'

EXEC msdb.dbo.sp_send_dbmail

@recipients =N'xuwj@5173.com',

@body = @body,

@body_format ='HTML',

@subject =@a,

@profile_name ='profile1'

execute db_sendmail_mssqllogsize

2 邮件

3配上简单的报表

相关阅读:

jquery获取input的value问题说明

用js实现控制内容的向上向下滚动效果

JavaScript 滑移效果

PHP数组读取的循环操作

在IIS中建立隐藏的虚拟目录

ECSHOP去掉版权copyright powered by ecshop 去掉商标志logo

隐藏 Access 窗口

解析SQL Server 2008的商业智能

vbscript 调用WebService实现代码

用bat实现删除系统脚本调试程序

HTML link标记的rel属性

Linux下Compiz Fusion新特效Stackswitch

编写CSS的一些感悟分享

php下删除一篇文章生成的多个静态页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值