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