Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
Используйте опцию disallow results from triggers для управления возвратом наборов результатов триггеров. Триггеры, возвращающие результирующие наборы, могут вызвать непредвиденное поведение в приложениях, которые не предназначены для работы с ними.
Внимание
Возможность возвращать результирующие наборы из триггеров будет удалена в будущей версии SQL Server. Не используйте в разрабатываемых приложениях триггеры, возвращающие результирующие наборы, и запланируйте изменение приложений, которые используют их в настоящее время. Чтобы предотвратить возврат результирующих наборов триггерами, измените параметр "запретить результаты из триггеров" на значение 1. Параметр по умолчанию для параметра запрета результатов от триггеров будет установлен на 1 в будущей версии SQL Server.
Если задано значение 1, disallow results from triggers параметр имеет значение ON. Значение по умолчанию для этого параметра — 0 (OFF). Если для этого параметра задано 1 значение (ON), любая попытка триггера вернуть результирующий набор завершается ошибкой, и пользователь получает следующее сообщение об ошибке:
Msg 524, Level 16, State 1, Procedure <Procedure Name>, Line <Line#>
A trigger returned a resultset and the server option 'disallow_results_from_triggers' is true.
Этот disallow results from triggers параметр применяется на уровне экземпляра SQL Server и определяет поведение для всех существующих триггеров в экземпляре.
Этот disallow results from triggers параметр является дополнительным вариантом. Если вы используете системную sp_configure хранимую процедуру для изменения параметра, можно изменить результаты запрета на триггеры, только если show advanced options задано значение 1. Параметр вступает в силу сразу без перезапуска сервера.
Можно проверить правильность установки параметра с помощью следующего кода Transact-SQL:
-- Check the current value for the option
SELECT [name], value_in_use
FROM sys.configurations
WHERE [name] LIKE 'disallow results from triggers';
-- Set the disallow results from triggers option to 1. This option is an advanced option so that must be enabled first
EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
-- Set the disallow results from triggers option
EXECUTE sp_configure 'disallow results from triggers', 1;
EXECUTE sp_configure 'show advanced options', 0;
RECONFIGURE;
GO
-- Validate that the option is set to 1
SELECT [name], value_in_use
FROM sys.configurations
WHERE [name] LIKE 'disallow results from triggers';
GO