This blog is part of the blog series named SQL Server Monitoring.

Purpose
To show the configured triggers.
Report
The report has a table showing each configured trigger.
Sources
This feature queries the DMV sys.triggers which returns information for database and table triggers.
Model
The model for the report uses the fact [Triggers] and the dimension [Database].

Service setup
The feature uses the service ‘fhsmSPTriggers’ which can be configured using the stored procedure fhsmSPControl.
Parameter
The feature accept the parameter @Databases and the syntax is the same that is used in the SQL Server Index and Statistics Management solution made by Ola Hallengren.
The default parameter for the feature is “@Databases = ‘USER_DATABASES, msdb'”
| Value | Description |
|---|---|
| SYSTEM_DATABASES | All system databases (master, msdb, model, and tempdb) |
| USER_DATABASES | All user databases |
| ALL_DATABASES | All databases |
| Db1 | The database Db1 |
| Db1, Db2 | The databases Db1 and Db2 |
| USER_DATABASES, -Db1 | All user databases, except Db1 |
| %Db% | All databases that have “Db” in the name |
| %Db%, -Db1 | All databases that have “Db” in the name, except Db1 |
| ALL_DATABASES, -%Db% | All databases that do not have “Db” in the name |
EXEC fhsmSPControl
@Type = 'Parameter',
@Command = 'list',
@Task = 'fhsmSPTriggers',
@Name = 'Triggers',
@Wildcard = 0;

EXEC fhsmSPControl
@Type = 'Parameter',
@Command = 'set',
@Task = 'fhsmSPTriggers',
@Name = 'Triggers',
@Parameter = '@Databases = ''USER_DATABASES, msdb''';
Schedule
The default schedule for the feature is once every day between 22:00 and 23:00.
EXEC fhsmSPControl
@Type = 'Schedule',
@Command = 'list',
@Task = 'fhsmSPTriggers',
@Name = 'Triggers',
@Wildcard = 0;

EXEC fhsmSPControl
@Type = 'Schedule',
@Command = 'set',
@Task = 'fhsmSPTriggers',
@Name = 'Triggers',
@ScheduleType = 0,
@Enabled = 1,
@ExecutionDelaySec = 43200,
@FromTime = '22:00:00',
@ToTime = '23:00:00',
@Monday = 1,
@Tuesday = 1,
@Wednesday = 1,
@Thursday = 1,
@Friday = 1,
@Saturday = 1,
@Sunday = 1;
Retention
The default retention for the table dbo.fhsmTriggers is 30 days.
EXEC fhsmSPControl
@Type = 'Retention',
@Command = 'list',
@TableName = 'fhsmTriggers',
@Wildcard = 0;

EXEC fhsmSPControl
@Type = 'Retention',
@Command = 'set',
@TableName = 'fhsmTriggers',
@Enabled = 1,
@Sequence = 1,
@Days = 30;
