Guia de configuração de Categoria de Jobs no ambiente SQL Compartilhado SkyNova
A plataforma suporta dois caminhos para Categoria:
A) Nativo, para compatibilidade com scripts tradicionais;
B) Wrapper SkyNova, para tracking/ownership da camada Self-Service.
1. CRIAR
EXEC msdb.dbo.sp_add_category
@class=N'JOB',
@type=N'LOCAL',
@name=N'DEV_CAT_CAT_NATIVE';
GO2. CONSULTAR
SELECT
category_id,
category_class,
category_type,
name
FROM msdb.dbo.syscategories
WHERE category_class=1
AND name=N'DEV_CAT_CAT_NATIVE';
GO3. MODIFICAR / RENOMEAR
EXEC msdb.dbo.sp_update_category
@class=N'JOB',
@name=N'DEV_CAT_CAT_NATIVE',
@new_name=N'DEV_CAT_CAT_NATIVE_V2';
GO4. EXCLUIR
EXEC msdb.dbo.sp_delete_category
@class=N'JOB',
@name=N'DEV_CAT_CAT_NATIVE_V2';
GO
========================================================================
B. CAMINHO WRAPPER
========================================================================
1. LIMPAR
IF EXISTS
(
SELECT 1 FROM msdb.dbo.syscategories
WHERE category_class=1 AND name=N'DEV_CAT_WRAPPER'
)
BEGIN
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_WRAPPER',
@CategoryClass=N'JOB';
END;
GO
IF EXISTS
(
SELECT 1 FROM msdb.dbo.syscategories
WHERE category_class=1 AND name=N'DEV_CAT_WRAPPER_V2'
)
BEGIN
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_WRAPPER_V2',
@CategoryClass=N'JOB';
END;
GO2. CRIAR
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Create
@CategoryName=N'DEV_CAT_CAT_WRAPPER',
@CategoryClass=N'JOB';
GO
3. CONSULTAR
SELECT
category_id,
category_class,
category_type,
name
FROM msdb.dbo.syscategories
WHERE category_class=1
AND name=N'DEV_CAT_CAT_WRAPPER';
GO4. MODIFICAR / RENOMEAR
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Update
@CategoryName=N'DEV_CAT_CAT_WRAPPER',
@NewCategoryName=N'DEV_CAT_CAT_WRAPPER_V2',
@CategoryClass=N'JOB';
GO5. EXCLUIR
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_CAT_WRAPPER_V2',
@CategoryClass=N'JOB';
GO6. VALIDAÇÃO FINAL
SELECT *
FROM msdb.dbo.syscategories
WHERE name LIKE N'DEV_%';
GO
--Resultado esperado: zero linhas.========================================================================
C. CAMINHO WRAPPER — CATEGORIA DE ALERT E DE OPERATOR
========================================================================
1. LIMPAR
IF EXISTS (SELECT 1 FROM msdb.dbo.syscategories WHERE category_class=2 AND name=N'DEV_CAT_CAT_ALERT')
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_CAT_ALERT',
@CategoryClass=N'ALERT';
GO
IF EXISTS (SELECT 1 FROM msdb.dbo.syscategories WHERE category_class=3 AND name=N'DEV_CAT_CAT_OPERATOR')
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_CAT_OPERATOR',
@CategoryClass=N'OPERATOR';
GO2. CRIAR
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Create
@CategoryName=N'DEV_CAT_CAT_ALERT',
@CategoryClass=N'ALERT';
GO
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Create
@CategoryName=N'DEV_CAT_CAT_OPERATOR',
@CategoryClass=N'OPERATOR';
GO3. CONSULTAR
SELECT
category_id,
category_class, -- 2 = ALERT, 3 = OPERATOR
category_type, -- 3 = NONE
name
FROM msdb.dbo.syscategories
WHERE name IN (N'DEV_CAT_CAT_ALERT', N'DEV_CAT_CAT_OPERATOR');
GO
--RESULTADO ESPERADO: duas linhas, category_type = 3.4. EXCLUIR
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_CAT_ALERT',
@CategoryClass=N'ALERT';
GO
EXEC msdb.dbo.usp_TenantSqlAgentCategory_Delete
@CategoryName=N'DEV_CAT_CAT_OPERATOR',
@CategoryClass=N'OPERATOR';
GO 5. VALIDAÇÃO FINAL
SELECT *
FROM msdb.dbo.syscategories
WHERE name LIKE N'DEV_CAT_%';
GO
--Resultado esperado: zero linhas.