【发布时间】:2009-11-24 18:46:08
【问题描述】:
有没有办法在表格达到指定大小时触发触发器?
我很怀疑,但我想我会问。这对于记录我想保持在特定大小以下的表很有用。 (当触发器触发时,我会删除旧条目。)
【问题讨论】:
-
你觉得什么尺码合适?
标签: sql-server sql-server-2008 triggers
有没有办法在表格达到指定大小时触发触发器?
我很怀疑,但我想我会问。这对于记录我想保持在特定大小以下的表很有用。 (当触发器触发时,我会删除旧条目。)
【问题讨论】:
标签: sql-server sql-server-2008 triggers
我认为使用计划的 SSIS 维护包可以更好地解决这个问题,但如果您真的想这样做,您可以添加一个触发器,该触发器将在插入表时触发,然后计算表大小和然后执行您想要的操作。
【讨论】:
不确定这是否会有所帮助,但您可以针对数据库中文件的累积大小设置代理警报。在SQL Server Agent/Alerts/Sql Server Performance Condition Alert/Sql Server Databases/下
【讨论】:
如果您绝对希望触发此操作,我只会让触发器在由维护作业监控的表中排队执行操作,因为触发器通常不应该执行扩展操作 - 他们应该到达那里事情完成并返回控制权,以便事务可以尽快完成或失败。请注意,在某些情况下触发器已被禁用,您将无法运行维护。如果有人放弃了你的触发器,它可能不像一份没有出现在定期报告中的工作那么明显。
我会推荐一个由 SQL Server 代理运行的作业,它会定期寻找需要采取行动的情况来执行这些操作,并将它们适当地报告给您正在使用的任何报告或系统管理软件。
【讨论】: