【问题标题】:How to monitor and alert a table row value in SQL Server for a maximum value如何在 SQL Server 中监视和警告表行值的最大值
【发布时间】:2019-10-31 13:42:41
【问题描述】:

我在一张表中有两行。一个 ID#1 的起始值为 100000,另一个 ID#2 的起始值为 1000000

如果值达到 ID#1 999999 或 ID#2 9999999,是否有可能在 Microsoft SQL Server 上监视和触发警报?

ID 由外部代码更新。在这里,我需要监视记录并在条件发生时通知。我想知道是否可以从数据库服务器端完成任务?

我已经在 MS SQL MMS 和 MS SQL 文档中进行了搜索,但找不到解决方案。

【问题讨论】:

  • 您是否真的需要监控这些值,或者这只是一个示例,看看它是如何完成的? ID 应该能够改变它们的位数并限制在一个非常高的值,比如整数数据类型的最大值。此外,如果这些值到达后您必须采取行动,您需要确保在它们到达之前知道几千个(取决于每天产生的数量),这样您会在 9.999.000 收到通知。跨度>
  • 这很好。你是对的,我应该设置一些阈值来达到一些反应时间。永远不应达到临界值,但它必须有一定的长度,因为 ID 在外部程序中是按长度确定的。

标签: sql-server monitoring jobs sql-job


【解决方案1】:

在 SQL 作业代理中设置循环 SQL 作业,检查记录是否存在,如果存在则向您发送电子邮件。

 IF EXISTS (SELECT 1
           FROM   tablea
           WHERE  id >= 999999)
  EXEC Sp_send_dbmail; -- this needs to be expanded of course

IF EXISTS (SELECT 1
           FROM   tableb
           WHERE  id >= 999999)
  EXEC Sp_send_dbmail;  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多