disallow results from triggers 服务器配置选项

使用 disallow results from triggers 选项可控制是否让触发器返回结果集。 返回结果集的触发器可能会导致应用程序出现意外的行为,而这些行为并不符合它们的设计意图。

重要

下一版本的 Microsoft SQL Server 将删除该功能。 请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。 我们建议将此值设置为 1。

当设置为 1 时, disallow results from triggers 选项将设置为打开。 该选项的默认值为 0(关闭)。 如果将该选项设置为 1 (打开),则触发器进行的任何返回结果集的尝试都将失败,用户将接收到下列错误消息:

“消息 524,级别 16,状态 1,过程 <Procedure Name>,第 <Line#> 行

“触发器返回了结果集且服务器选项 "disallow_results_from_triggers" 为 TRUE。”

disallow results from triggers 选项适用于 Microsoft SQL Server 实例级别,并且它可确定实例中所有现有的触发器的行为。

disallow results from triggers 选项是一个高级选项。 如果使用 sp_configure 系统存储过程来更改该设置,则只有在“显示高级选项”设置为 1 时才能更改“禁止从触发器返回结果”选项。 该设置将立即生效,无需重新启动服务器。

另请参阅

RECONFIGURE (Transact-SQL)
服务器配置选项 (SQL Server)
sp_configure (Transact-SQL)