Go with option 2.
Whenever possible, triggers should be avoided.
Unclear reason: have you ever used SQL Server replication tools? Triggers will not be very easy to replicate. (i.e. it's not as simple as a few clicks, for example, for tables). But I'm moving away from the topic ... bottom line, triggers evil ... avoid it when you can.
EDIT
Additional reasons. Triggers don't just see how other objects are in the DBMS. On the application side, they are invisible, and if they are not documented, they are usually forgotten. If there is a change in the schema ... well, it just makes things easier with stored procedures.
source share