Triggers and Permissions

Triggers are a special kind of stored procedure. (For details, see the Microsoft SQL Server Transact-SQL Reference.) Triggers are never executed directly, but only as a side effect of modifying a table. There is no need to grant or revoke permissions for triggers.

Only the owner of an object can create a trigger on it. However, the ownership chain can be broken if a trigger on a table references objects owned by different users. The permission hierarchy rules that apply to procedures also apply to triggers.

While the objects that a trigger affects are usually owned by the same user who owns the trigger, you can write a trigger that modifies an object owned by another user. In this case, any users modifying your object in a way that initializes the trigger must have permission on the other object as well.

If SQL Server denies permission on a data modification statement because of a trigger that affects an object for which the user does not have permission, the entire data modification statement is canceled.