Is it possible to list all triggers in all tables on a database? I can list all user stored procedures with:
Private Sub StoredPro()
Dim theServer As Server = New Server(serverName)
Dim myDB As Database = theServer.Databases("mydatabase")
Dim dt As DataTable = myDB.EnumObjects(DatabaseObjectTypes.StoredProcedure)
End Sub
But nothing obvious in SMO for triggers. (I'm actually trying to list just custom triggers, any that are not named DEL_tablename, INS_tablename, UPD_tablename) within the selected database.
Each database object has a Triggers property, which you can iterate to find all triggers.
Once you have a reference to this trigger, check the IsSystemObject property to check if it is a user-defined trigger or not.
foreach ( DatabaseDdlTrigger oTrigger in oDatabase.Triggers) {
if (! oTrigger.IsSystemObject) {
// do something
}}
Have fun.