伺服器組態:巢狀觸發程式

適用於:SQL Server

本文說明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中設定 nested triggers 伺服器組態選項。 選項 nested triggers 可控制觸發程式是否可以 AFTER 重疊。 亦即,執行起始另一個觸發程序的動作,後者再起始另一個觸發程序等。 當 nested triggers 設為 0 時,AFTER 觸發程序無法連鎖觸發。 當 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_configure 將 nested 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
    

如需詳細資訊,請參閱伺服器設定選項。

後續操作:設定巢狀觸發程式選項之後

設定會立即生效,不需要重新啟動伺服器。