sql-server - 如何在 SQL Server 中的表中一段时间内没有记录插入时得到通知
问题描述
目标:我有一个处理设备状态的表。每当我一小时或更长时间没有收到它的状态时,我想得到一次通知。
设备在表中插入一个带有时间戳的“心跳”记录(注意:我必须坚持这个实现)。
为了获得任何更改的通知,我正在使用带有队列的服务(由另一个程序读取)。
我尝试过的:我做了一份每 1 分钟运行一次的工作。它:
- 看表中最后的心跳
- 如果时间戳是一小时前或更早:
- 查看另一个表,该表存储我是否已经在队列中写入了通知
- 如果不是,则写入队列
- 别的:
- 查看另一个表,该表存储我是否已经在队列中写入了通知
- 如果是,则将值重置为否
问题:我担心我在一段时间内没有插入记录时执行一些代码的技术:
- 我觉得有一种内置的(更好的)方法可以解决这类问题,但我找不到;
- 它不会尽快通知我(在最坏的情况下,1 分钟后)。这可以通过减少计划等待时间来解决,但我不知道这是否会影响性能。我想要更轻的解决方案;
- 我不喜欢使用辅助表,所以我想删除它;
- 如果可能,我宁愿不使用作业(我正在使用 VS DB 项目,我想删除部署后脚本)。
解决方案
推荐阅读
- java - 如何将两个pdf页面合并并旋转到一页itext
- oracle-cloud-infrastructure - 在 Oracle 云控制台上执行任何操作时出现网络相关错误
- java - 如果“没有被类中的声明隐藏”,则继承非私有字段
- python - Analytics v4 ga:事务数不少于 6
- angular - 如何在Angular Reactive表单中更改另一个表单控件的值更改时更改表单控件的值?
- r - 在 R 中获得主成分分析的结果
- c# - C# XmlWriter 不会将 ' 转为 '
- python - 创建一个不同节点具有相同标签的图?
- python-3.x - 用列名填充 Data-Frame 中的 Null 值
- groovy - 如何在 POGO 中实例化 POGO 列表