【问题标题】:How to find trigger that stopping a table to be dropped如何找到停止删除表的触发器
【发布时间】:2019-08-08 09:38:27
【问题描述】:

每当我运行以下命令删除表时,

DROP TABLE MYTable

我收到此错误消息,

You do not have the privilege
Msg 3609, Level 16, State 2, Line 3
The transaction ended in the trigger. The batch has been aborted.

根据我们的 DBA,我拥有所有权限。我认为有些触发器会停止执行该语句。那么如何找到这个触发器呢。

【问题讨论】:

    标签: sql sql-server sql-server-2014


    【解决方案1】:

    这是一个 DDL 触发器,因此您可以在以下位置找到它:

    Server Objects (Node) > Triggers
    

    【讨论】:

      【解决方案2】:

      这更有可能是数据库触发器。使用 SSMS 在对象资源管理器中展开数据库,然后在 Programmability 和 Database Triggers 中展开。您应该在那里找到触发器(如果有多个,则由您自己决定是否找到正确的触发器)。

      【讨论】:

        【解决方案3】:

        您还可以使用以下给定的查询找到数据库 DDL 触发器 选择名称,parent_class_desc FROM 系统触发器

        name parent_class_desc ----------------- ---------------- trg_index_changes DATABASE(数据库级别触发器 - DDL) testTriiger OBJECT_OR_COLUMN(表触发器)

        【讨论】:

          猜你喜欢
          • 2010-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-13
          • 2016-11-06
          • 2018-10-09
          • 1970-01-01
          相关资源
          最近更新 更多