Guia de configuração de Sql Operator Auxiliar no ambiente SQL Compartilhado SkyNova
1. CRIAR O OPERATOR AUXILIAR
EXEC msdb.dbo.usp_TenantSqlAgentOperator_Create
@OperatorName=N'DEV_OPERATOR',
@EmailAddress=N'<EMAIL_TESTE>',
@Enabled=1;
GO2. CRIAR O ALERTA
/*
O exemplo usa severity 17 como gatilho. O wrapper deve receber exatamente UM
gatilho efetivo entre MessageId, Severity ou PerformanceCondition.
/*
--Crie DESABILITADO durante a montagem:
EXEC msdb.dbo.usp_TenantSqlAgentAlert_Create
@AlertName = N'DEV_OPERATOR_ALERT',
@Severity = 17,
@Enabled = 0,
@DelayBetweenResponses = 300,
@NotificationMessage = N'DEV_OPERATOR - alerta de teste',
@IncludeEventDescriptionIn = 1;
GO3. CONSULTAR PELO WRAPPER
EXEC msdb.dbo.usp_TenantSqlAgentAlert_List;
GO6. CONSULTAR O CATÁLOGO REAL
SELECT
id,
name,
enabled,
message_id,
severity,
delay_between_responses,
notification_message,
include_event_description
FROM msdb.dbo.sysalerts
WHERE name=N'DEV_OPERATOR_ALERT';
GO7. ADICIONAR NOTIFICAÇÃO AO OPERATOR
--NotificationMethod: 1 = e-mail
EXEC msdb.dbo.usp_TenantSqlAgentAlert_SetNotification
@AlertName = N'DEV_OPERATOR_ALERT',
@OperatorName = N'DEV_OPERATOR',
@NotificationMethod = 1;
GO
--VALIDAR
SELECT
a.name AS AlertName,
o.name AS OperatorName,
n.notification_method
FROM msdb.dbo.sysnotifications AS n
JOIN msdb.dbo.sysalerts AS a
ON a.id=n.alert_id
JOIN msdb.dbo.sysoperators AS o
ON o.id=n.operator_id
WHERE a.name=N'DEV_OPERATOR_ALERT';
GO8. MODIFICAR O ALERT
--Renomear, manter desabilitado e alterar delay:
EXEC msdb.dbo.usp_TenantSqlAgentAlert_Update
@AlertName = N'DEV_OPERATOR_ALERT',
@NewAlertName = N'DEV_OPERATOR_ALERT_V2',
@Enabled = 0,
@DelayBetweenResponses = 600;
GO
--VALIDAR
SELECT
name,
enabled,
severity,
delay_between_responses
FROM msdb.dbo.sysalerts
WHERE name=N'DEV_OPERATOR_ALERT_V2';
GO9. HABILITAR O ALERT
EXEC msdb.dbo.usp_TenantSqlAgentAlert_Update
@AlertName = N'DEV_OPERATOR_ALERT_V2',
@Enabled = 1;
GO
SELECT name, enabled
FROM msdb.dbo.sysalerts
WHERE name=N'DEV_OPERATOR_ALERT_V2';
GO10. REMOVER SOMENTE A NOTIFICAÇÃO
EXEC msdb.dbo.usp_TenantSqlAgentAlert_SetNotification
@AlertName = N'DEV_OPERATOR_ALERT_V2',
@OperatorName = N'DEV_OPERATOR',
@NotificationMethod = 1,
@Remove = 1;
GO
--Resultado esperado: zero linhas
SELECT
a.name AS AlertName,
o.name AS OperatorName,
n.notification_method
FROM msdb.dbo.sysnotifications AS n
JOIN msdb.dbo.sysalerts AS a
ON a.id=n.alert_id
JOIN msdb.dbo.sysoperators AS o
ON o.id=n.operator_id
WHERE a.name=N'DEV_OPERATOR_ALERT_V2';
GO11. EXCLUIR O ALERT
EXEC msdb.dbo.usp_TenantSqlAgentAlert_Delete
@AlertName=N'DEV_OPERATOR_ALERT_V2';
GO12. EXCLUIR O OPERATOR AUXILIAR
EXEC msdb.dbo.usp_TenantSqlAgentOperator_Delete
@OperatorName=N'DEV_OPERATOR',
@ConfirmOperatorName=N'DEV_OPERATOR';
GO13. VALIDAÇÃO FINAL
SELECT * FROM msdb.dbo.sysalerts
WHERE name IN (N'DEV_OPERATOR_ALERT',N'DEV_OPERATOR_ALERT_V2');
SELECT * FROM msdb.dbo.sysoperators
WHERE name=N'DEV_OPERATOR';
GO