Sql 在不修改DBs的情况下,如何在多个数据库中的同一个表上拥有触发器?

Sql 在不修改DBs的情况下,如何在多个数据库中的同一个表上拥有触发器?,sql,sql-server,triggers,Sql,Sql Server,Triggers,我有一个服务器,有几十个“子”数据库,它们都具有相同的模式/结构。我还有一个完全不同的控制器DB。我需要做的是,在不在每个子数据库中创建触发器的情况下,在每个子数据库的同一个表上都有一个触发器。。。比如,它可能驻留在控制器数据库中?这样的事情可能吗?如果是,怎么做 我需要做的是,在不在每个子数据库中创建触发器的情况下,在每个子数据库的同一个表上都有一个触发器。。。比如,它可能驻留在控制器数据库中?这样的事情可能吗 不可以。触发器与它引用的对象紧密耦合,因此必须位于同一模式、同一数据库中 也许您

我有一个服务器,有几十个“子”数据库,它们都具有相同的模式/结构。我还有一个完全不同的控制器DB。我需要做的是,在不在每个子数据库中创建触发器的情况下,在每个子数据库的同一个表上都有一个触发器。。。比如,它可能驻留在控制器数据库中?这样的事情可能吗?如果是,怎么做

我需要做的是,在不在每个子数据库中创建触发器的情况下,在每个子数据库的同一个表上都有一个触发器。。。比如,它可能驻留在控制器数据库中?这样的事情可能吗

不可以。触发器与它引用的对象紧密耦合,因此必须位于同一模式、同一数据库中

  • 也许您可以在控制器数据库中有一个中心队列表,触发器只需将其相关数据插入该中心表中,后台进程就会出现,并将触发器应该执行的任何操作应用于相关数据库。这至少最小化了触发器内部的业务逻辑

  • 如果一个中央队列表没有意义,那么您应该能够通过自动化/部署来缓解大部分问题。我曾经用相同的模式/过程/触发器管理过100多个数据库,将更改部署到所有数据库并不比将单个更改部署到其中一个数据库更难


不可能。。。在数据库中没有触发器的情况下,如何触发数据库中的更改?如果需要触发器,则需要在上述表中执行。但是,老实说,如果这是您的设置,听起来您有一个设计缺陷。触发的目的到底是什么?在您与所述表交互的过程中,实际应该包含的是逻辑吗?