有几种情况会导致触发器失灵。如果数据库使用一个或大量日志恢复方法,那么任何“插入”未记有日志表格的行为都会使触发器失灵。如果使用BCP命令复制SQL服务器与使用用户制定格式的数据文件之间的数据,你会发现这种做法也会使触发器发生故障。BCP不能和触发器一起使用,以及一些规则和“检查”限制。
当将嵌套的触发器设置为“0”(一种服务器选项),你也会遇到麻烦。在那种情况下,你的系统无法执行间接循环,那么几个触发器都不能使用。如果你使用嵌套式启动装置,就不能进行这种设置。
在执行TRUNCATE TABLE命令时又会发生另一个问题。该命令将使所有“删除”触发器失灵。
触发器需要较长时间启动存在几个原因。这里要查看的是参考表格数量以及被触发器代码使用的排数。如果触发器是在较少数据中运行的小代码,它的工作性能最好。如果你的触发器采用“选择”操作,就要保证有一个索引可用来支持该操作。没有索引的“选择”操作运行起来较慢。通过查询优化器检查你的触发器,看看是否能改进其性能。
触发器意味着使一切正常发展,运行速度比一些内置SQL服务器工具慢。它们不能替代SQL服务器的有关工具。在多数情况下,当你能使用“检查”限制时,你会选择它,因为它运行起来要比触发器快。但触发器仍然具有一定价值,也能帮助你维护数据的完整性。