当 E: 或 H: 上的可用驱动器空间小于 20% 时,我需要收到一封电子邮件
我知道这可以通过设置一个按计划执行 PowerShell 或 T-SQL 脚本的作业来实现,该作业检查可用驱动器空间并在驱动器空间不足时发送警报电子邮件
但问题是 - 仅使用警报可以完成相同的任务吗?
有警报类型SQL Server performance condition alert
是否有Object
/Counter
可以帮助检查驱动器空间并在其值“低于”指定阈值时触发此警报?
我们已经为 SQL Server 实例上的主要严重性和错误代码配置了警报。每个警报然后运行相同的 SQL Server 代理作业,以在我们的监控系统中触发警报(用于 SMS 消息传递)。
能够从某处检索警报描述文本(请参阅下面示例中的“这只是一个测试!”)以馈送到我们的监控系统将很有用。
DATE/TIME: 27/09/2018 16:08:19
DESCRIPTION: Error: 50000 Severity: 20 State: 1 This was just a test!
COMMENT: (None)
JOB RUN: SystemAlerts
此文本是否存储在 msdb 数据库中的任何位置?或者它不像 SQL Server Agent 作业历史那样持久化?
在 SQL Server 2017 中设置一些警报,这些警报通过电子邮件发送给某些 DBA。
我尝试配置的一些警报示例是警报编号 229 - 对象“X”的执行权限被拒绝
目前,电子邮件中没有关于谁的许可被拒绝的详细信息——我想知道,是否可以包括这个?
当前通知如下所示:
日期/时间:2018 年 7 月 2 日下午 1:29:59
描述:对对象“sp_Price”、数据库“Customizations”、架构“dbo”的执行权限被拒绝。
我们偶尔会收到以下电子邮件提醒。
描述:用于打开连接的登录包在结构上无效;连接已关闭。请联系客户端库的供应商。
描述:网络数据包有效负载中指定的长度与读取的字节数不匹配;连接已关闭。请联系客户端库的供应商。
我试着在网上搜索。但是我没有任何好的方向来解决我应该如何对这些警报进行故障排除。在这种情况下,我应该联系应用程序团队检查错误代码还是联系安全团队检查任何恶意活动?感谢您的指导。
我有一个客户请求将 SNMP 陷阱合并为 SQL Server 中的警报方法。我发现执行此操作的唯一方法是使用 [msdb] 数据库中的 [dbo].[sp_add_alert]。
-- Add Message in sysmessages to be used for the alert
EXEC sp_addmessage
@msgnum = 2624470,
@severity = 1,
@msgtext = 'A DEV GOT SYSADMIN, RUN!',
@lang = 'us_english',
@with_log = 'TRUE'
-- Create an Alert for a user-defined message in sysmessages
EXEC msdb.dbo.sp_add_alert
@name = N'Alert_For_UserDefined_Message',
@message_id = 2624470,
@severity = 0,
@enabled = 1,
@include_event_description_in = 1,
@raise_snmp_trap = 1,
@job_id = N'00000000-0000-0000-0000-000000000000'
-- Raise error to trigger the Alert
RAISERROR (2624470,-1,-1)
但是,当我实际引发错误时,我只收到位于 sysmessages 中的实际消息。
现在,我不太熟悉 SNMP 陷阱,但我觉得好像有一些设置需要定义;无论是在创建警报时还是作为服务器配置中的设置。我在这里错过了什么吗?
我遇到了这个论坛帖子,我从中收集到的所有信息是,在版本 6.5 之后,此功能停止执行任何操作,但没有文档来支持其缺乏功能。
我已经在我所有的数据库服务器上设置了警报,每隔一段时间我就会收到以下错误,有时它会不断出现,有时会出现几次。
The SQL Server performance counter 'Log Growths' (instance '_Total') of object 'SQLServer:Databases' now equals the threshold of 1.00.
我可以更改任何配置来阻止这种情况吗?它似乎只来自两台服务器。
在我看来,SQL THROW 缺少一个重要的功能,RAISERROR
那就是使用的能力,WITH LOG
以便在应用程序日志中记录错误号时可以触发警报。
有没有一种简单的方法可以让我逃避,还是我仍然需要依赖更麻烦的RAISERROR
SP sp_addmessage
?
我希望能够通过块中使用的警报通知操作THROW
员CATCH
。
新手来了。。
你好在线搜索,我找不到任何关于在虚拟机上安装/运行的 SQL Server 和 SQL Server 警报的指向、相关或有任何意见的文章/博客。问题是,如果安装 SQL 的环境在虚拟机上作为来宾运行,那么 SQL Server 警报(19-25,823,824 或 825)有多重要或相关?有没有其他解决办法。
问候,