Sql server 如何在系统表上设置触发器以收集历史数据?
我能够在用户定义表上实现触发器,但不能在系统表上实现触发器(Sql server 如何在系统表上设置触发器以收集历史数据?,sql-server,tsql,sql-server-2000,log-shipping,triggers,Sql Server,Tsql,Sql Server 2000,Log Shipping,Triggers,我能够在用户定义表上实现触发器,但不能在系统表上实现触发器(log\u shipping\u primaries和log\u shipping\u secondary),它存储有关何时生成备份.bak文件以及何时在辅助数据库复制和恢复事务日志ship文件.trn文件的信息 目标:在辅助数据库(灾难恢复站点)上实施RPO(恢复点目标)>15分钟 我的任务是监控记录运输活动,并向上级管理层提供历史数据。现在的问题是,这两个表每次添加新条目时都会更新旧条目(对于给定数据库) 解决方案(在SQL Ser
log\u shipping\u primaries
和log\u shipping\u secondary
),它存储有关何时生成备份.bak
文件以及何时在辅助数据库复制和恢复事务日志ship文件.trn
文件的信息
目标:在辅助数据库(灾难恢复站点)上实施RPO(恢复点目标)>15分钟
我的任务是监控记录运输活动
,并向上级管理层提供历史数据。现在的问题是,这两个表每次添加新条目时都会更新旧条目(对于给定数据库)
解决方案(在SQL Server 2000中不起作用):每当插入新条目时,通过触发器在用户定义表中插入类似的数据,以保留历史数据
若您使用SQL作业进行备份和事务日志传送,那个么在这种情况下,您可以在此之前添加一个步骤,以便在历史记录表中导入该数据 无法在系统表上创建触发器
我会考虑添加一个以适当频率运行的作业(例如,每30秒一次)为什么不在每次备份之前创建一个作业来保存表中的数据?至于怎么做,这真的是你的选择。编写存储过程,将insert语句直接写入SQL代理作业,坐在计算机旁,每15分钟按一次F5…:-)有很多选择 感谢您的回复,只需查询一些系统表允许触发器(log_shipping_history),是否有人可以建议一些脚本来确定哪个系统表允许触发器