Files
sql-scripts/TPDT-268 - ACP in task sequence/dba_structure/DBA_monitoring.sql
2024-03-07 16:52:14 +01:00

126 lines
5.3 KiB
Transact-SQL

USE [HCITools]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT 1
FROM sys.objects o WITH (NOLOCK)
JOIN sys.schemas s WITH (NOLOCK) ON o.schema_id = s.schema_id
WHERE o.name = 'DBA_monitoring_alerts'
AND o.type IN (N'U')
AND s.name = 'mon')
BEGIN
PRINT 'Create new table [DBA_monitoring_alerts]'
CREATE TABLE [mon].[DBA_monitoring_alerts](
[DBA_monitoring_alerts_ID] int IDENTITY(1,1) NOT NULL,
[DBAMA_monitoring_alerts_type] int NOT NULL,
[DBAMA_short_message] varchar(40) NOT NULL,
[DBAMA_key] varchar(20) NOT NULL
CONSTRAINT [PK_DBA_monitoring_alerts] PRIMARY KEY CLUSTERED
(
[DBA_monitoring_alerts_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
END
GO
IF NOT EXISTS (SELECT 1
FROM sys.objects o WITH (NOLOCK)
JOIN sys.schemas s WITH (NOLOCK) ON o.schema_id = s.schema_id
WHERE o.name = 'DBA_monitoring_alerts_type'
AND o.type IN (N'U')
AND s.name = 'mon')
BEGIN
PRINT 'Create new table [DBA_monitoring_alerts_type]'
CREATE TABLE [mon].[DBA_monitoring_alerts_type](
[DBA_monitoring_alerts_type_ID] int IDENTITY(1,1) NOT NULL,
[DBAMAT_name] varchar(100) NOT NULL,
[DBAMAT_key] varchar(20) NOT NULL
CONSTRAINT [PK_DBA_monitoring_alerts_type] PRIMARY KEY CLUSTERED
(
[DBA_monitoring_alerts_type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
END
GO
IF NOT EXISTS (SELECT 1
FROM sys.objects o WITH (NOLOCK)
JOIN sys.schemas s WITH (NOLOCK) ON o.schema_id = s.schema_id
WHERE o.name = 'DBA_monitoring_alerts_history'
AND o.type IN (N'U')
AND s.name = 'mon')
BEGIN
PRINT 'Create new table [DBA_monitoring_alerts_history]'
CREATE TABLE [mon].[DBA_monitoring_alerts_history](
[DBA_monitoring_alerts_history_ID] int IDENTITY(1,1) NOT NULL,
[DBAMAH_monitoring_alerts] int NOT NULL,
[DBAMAH_criticity_level] tinyint NOT NULL CONSTRAINT [CKDBAMAH_criticity_level] CHECK (([DBAMAH_criticity_level] IN (0,1,2))),
[DBAMAH_event_date] datetime2(0) NOT NULL CONSTRAINT DF_DBAMAH_event_date DEFAULT getdate(),
[DBAMAH_long_message] varchar(max) NOT NULL
CONSTRAINT [PK_DBA_monitoring_alerts_history] PRIMARY KEY CLUSTERED
(
[DBA_monitoring_alerts_history_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
EXEC sys.sp_addextendedproperty @name=N'0', @value=N'OK' , @level0type=N'SCHEMA',@level0name=N'mon', @level1type=N'TABLE',@level1name=N'DBA_monitoring_alerts_history', @level2type=N'COLUMN',@level2name=N'DBAMAH_criticity_level'
EXEC sys.sp_addextendedproperty @name=N'1', @value=N'Warning' , @level0type=N'SCHEMA',@level0name=N'mon', @level1type=N'TABLE',@level1name=N'DBA_monitoring_alerts_history', @level2type=N'COLUMN',@level2name=N'DBAMAH_criticity_level'
EXEC sys.sp_addextendedproperty @name=N'2', @value=N'Critical' , @level0type=N'SCHEMA',@level0name=N'mon', @level1type=N'TABLE',@level1name=N'DBA_monitoring_alerts_history', @level2type=N'COLUMN',@level2name=N'DBAMAH_criticity_level'
END
GO
IF NOT EXISTS (SELECT 1
FROM sys.foreign_keys fk
WHERE fk.object_id = OBJECT_ID(N'[mon].[FKDBAMAHmonitoringalerts]')
AND fk.parent_object_id = OBJECT_ID(N'[mon].[DBA_monitoring_alerts_history]'))
BEGIN
PRINT 'Create foreign key [FKDBAMAHmonitoringalerts] on table [DBA_monitoring_alerts_history]'
ALTER TABLE [mon].[DBA_monitoring_alerts_history] WITH CHECK ADD CONSTRAINT [FKDBAMAHmonitoringalerts] FOREIGN KEY([DBAMAH_monitoring_alerts])
REFERENCES [mon].[DBA_monitoring_alerts] ([DBA_monitoring_alerts_ID])
END
GO
IF NOT EXISTS (SELECT 1
FROM sys.foreign_keys fk
WHERE fk.object_id = OBJECT_ID(N'[mon].[FKDBAMAmonitoringtype]')
AND fk.parent_object_id = OBJECT_ID(N'[mon].[DBA_monitoring_alerts]'))
BEGIN
PRINT 'Create foreign key [FKDBAMAmonitoringtype] on table [DBA_monitoring_alerts]'
ALTER TABLE [mon].[DBA_monitoring_alerts] WITH CHECK ADD CONSTRAINT [FKDBAMAmonitoringtype] FOREIGN KEY([DBAMA_monitoring_alerts_type])
REFERENCES [mon].[DBA_monitoring_alerts_type] ([DBA_monitoring_alerts_type_ID])
END
GO
/* INIT
INSERT INTO [HCITools].[mon].[DBA_monitoring_alerts_type] (DBAMAT_name,DBAMAT_key)
VALUES ('SQL Replications','REPL')
INSERT INTO [HCITools].[mon].[DBA_monitoring_alerts] (DBAMA_monitoring_alerts_type, DBAMA_short_message, DBAMA_key)
VALUES
(1,'OK','OK'),
(1,'Maintenance jobs','MaintJobs'),
(1,'Missing articles','MissArt'),
(1,'POS linked server','POSLinked'),
(1,'POS Missed in subscription','SubMiss'),
(1,'Replinibackup share','Replini'),
(1,'Authentification Windows','Auth'),
(1,'POS subscription','SubCheck'),
(1,'Snapshot agent','SnapAgt'),
(1,'Log reader agent','LogReadAgt'),
(1,'Duplicate jobs','DuplicJobs'),
(1,'Undistributed','UndistCmd')
*/