服务器配置:嵌套触发器

适用范围:SQL Server

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中配置 nested triggers 服务器配置选项。 选项 nested triggers 控制触发器是否可以 AFTER 级联。 即执行某项操作将启动另一个触发器,而该触发器又将启动另外一个,依此类推。 0设置为时nested triggersAFTER触发器无法级联。 如果 nested triggers 设置为 1 (默认值), AFTER 触发器可以级联到多达 32 个级别。 INSTEAD OF 无论此选项的设置如何,都可以嵌套触发器。

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要使用两个参数执行 sp_configure 来更改配置选项或运行 RECONFIGURE 语句,用户必须拥有 ALTER SETTINGS 服务器级别权限。 ALTER SETTINGS 权限由 sysadmin 和 serveradmin 固定服务器角色隐式拥有。

使用 SQL Server Management Studio

  1. 在“对象资源管理器”中,右键单击服务器,然后选择“属性”。

  2. 在“高级”页上,将“允许触发器激发其他触发器”选项设置为“True”(默认值)或“False”。

使用 Transact-SQL

  1. 连接到 数据库引擎。

  2. 在标准栏上,选择“新建查询”。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例说明如何使用 sp_configurenested triggers 选项的值设置为 0

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'nested triggers', 0;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

有关详细信息,请参阅服务器配置选项

跟进:配置嵌套触发器选项后

该设置将立即生效,无需重新启动服务器。