Как запустить триггер, когда вы выполняете TRUNCATE (вместо этого удаляется) в MSSQL
Триггер SQL на Truncate
Ответ 1
От msdn:
TRUNCATE TABLE не может активировать триггер, потому что операция не регистрирует отдельные удаления строк.
Ответ 2
Вы не можете сделать это на сервере SQL.
От MSDN
TRUNCATE TABLE не может активировать триггер, потому что операция не регистрировать отдельные удаления строк. Для большего информацию см. в разделе CREATE TRIGGER (Transact-SQL).
Ответ 3
Вы разрешаете пользователям запускать TRUNCATE TABLE ad hoc/willy nilly? Если нет, вместо того, чтобы беспокоиться об использовании триггера, почему бы не обернуть команду TRUNCATE в хранимой процедуре, которая также касается того, что триггер сделал бы после завершения усечения? (Но вам, конечно, придется делать это в обратном порядке.)