我对数据库相当陌生,我有一个特定的要求来编写作业/存储过程来监控数据库的增长。
我们目前正在使用MS SQL Server 2016 Standard Edition
with Always-ON HA
。
我已经mail server
在数据库上设置了。
将作业的输出链接到邮件会更有效。
我对数据库相当陌生,我有一个特定的要求来编写作业/存储过程来监控数据库的增长。
我们目前正在使用MS SQL Server 2016 Standard Edition
with Always-ON HA
。
我已经mail server
在数据库上设置了。
将作业的输出链接到邮件会更有效。
有一个存储过程叫做
SpaceUsedRating
:https://github.com/aleksey-vitsko/Database-Administrator-Tools
当您在
exec SpaceUsedRating
没有任何参数的情况下执行它时,它将显示给定数据库中的空间使用统计信息也可以使用参数 @command = 'log' 调用此过程
使用参数调用时,该 SP 会将结果记录到数据库
@command = 'log'
的日志表中(需要创建数据库和表)DatabaseGrowthLogger
ServerLogsDB
这是创建记录表的脚本
创建
ServerLogsDB..DatabaseGrowthLogger
数据库和表并将存储过程部署SpaceUsedRating
到要监控其增长的所有数据库之后,您需要安排一个每天运行一次的作业,例如在 23:58 UTC,并在 t-sql 下运行:这将记录您的数据库的每日增长,当您检查
ServerLogsDB..DatabaseGrowthLogger
表时,它看起来类似于以下内容:查看日志记录表,您将了解数据库中的数据随时间增长了多少
最后,您可以向作业添加一个步骤,该步骤将从中读取最后一行并使用过程
ServerLogsDB..DatabaseGrowthLogger
通过电子邮件发送sp_send_dbmail