initial commit
This commit is contained in:
BIN
OCTPDBA-336 - monitor wait stat/.vs/OCTPDBA-336/v15/.ssms_suo
Normal file
BIN
OCTPDBA-336 - monitor wait stat/.vs/OCTPDBA-336/v15/.ssms_suo
Normal file
Binary file not shown.
22
OCTPDBA-336 - monitor wait stat/OCTPDBA-336.ssmssln
Normal file
22
OCTPDBA-336 - monitor wait stat/OCTPDBA-336.ssmssln
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# SQL Server Management Studio Solution File, Format Version 18.00
|
||||
VisualStudioVersion = 15.0.28307.421
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{4F2E2C19-372F-40D8-9FA7-9D2138C6997A}") = "OCTPDBA-336", "OCTPDBA-336\OCTPDBA-336.ssmssqlproj", "{D24C6A1F-9CA3-4544-903A-9DBB07216C1A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Default|Default = Default|Default
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D24C6A1F-9CA3-4544-903A-9DBB07216C1A}.Default|Default.ActiveCfg = Default
|
||||
{0A737271-2A4F-4D85-89B7-DFB8F0CF4AF5}.Default|Default.ActiveCfg = Default
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {617D5102-24C3-4EBF-92E9-7E9B9D6B96F0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SqlWorkbenchSqlProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="SqlWorkbenchSqlProject">
|
||||
<Items>
|
||||
<LogicalFolder Name="Connections" Type="2" />
|
||||
<LogicalFolder Name="Queries" Type="0" />
|
||||
<LogicalFolder Name="Miscellaneous" Type="3" />
|
||||
|
||||
</Items>
|
||||
</SqlWorkbenchSqlProject>
|
||||
10
OCTPDBA-336 - monitor wait stat/SQLQuery18.sql
Normal file
10
OCTPDBA-336 - monitor wait stat/SQLQuery18.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
SET XACT_ABORT ON;
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT [name],
|
||||
[sj].[job_id],
|
||||
'keyword "wait stats" in name'
|
||||
FROM msdb.dbo.sysjobs sj
|
||||
WHERE LOWER(sj.[name]) LIKE '%D92060%';
|
||||
|
||||
67
OCTPDBA-336 - monitor wait stat/clean zz jobs.sql
Normal file
67
OCTPDBA-336 - monitor wait stat/clean zz jobs.sql
Normal file
@@ -0,0 +1,67 @@
|
||||
USE [HCITools];
|
||||
GO
|
||||
|
||||
/*=============================================================================
|
||||
|
||||
Look for specific jobs to delete if they exists on the server.
|
||||
|
||||
-----------------------------------------------
|
||||
US OCTPDBA-336
|
||||
Clean up of the previously defined jobs to be replaced with [_D92060 - Monitor Wait Stats]
|
||||
|
||||
Contexte d'utilisation
|
||||
----------------------
|
||||
Everywhere where hciTools exists
|
||||
|
||||
Création : 13.10.2022 / TSC
|
||||
|
||||
=============================================================================*/
|
||||
|
||||
SET XACT_ABORT ON;
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @found_jobs_names TABLE (job_name VARCHAR(500) NOT NULL);
|
||||
|
||||
INSERT INTO @found_jobs_names ([job_name])
|
||||
VALUES ('DR92060 - Monitor Wait Stats - Central'),
|
||||
('ZZ-LPE-Monitor Wait Stats'),
|
||||
('ZZ-LPE-Monitor Wait Stats - AMAREP'),
|
||||
('ZZ-LPE-Monitor Wait Stats - AMA051'),
|
||||
('ZZ-LPE-Monitor Wait Stats - AMA562'),
|
||||
('ZZ-LPE-Monitor Wait Stats - AMA603');
|
||||
|
||||
/* declare variables */
|
||||
DECLARE @job_name VARCHAR(500);
|
||||
|
||||
DECLARE clean_jobs CURSOR FAST_FORWARD READ_ONLY FOR
|
||||
SELECT job_name
|
||||
FROM @found_jobs_names;
|
||||
|
||||
OPEN clean_jobs;
|
||||
|
||||
FETCH NEXT FROM clean_jobs
|
||||
INTO @job_name;
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
IF EXISTS ( SELECT 1
|
||||
FROM msdb.dbo.sysjobs sj
|
||||
WHERE LOWER(sj.[name]) = LOWER(@job_name))
|
||||
BEGIN
|
||||
RAISERROR(
|
||||
'found job "%s". Dropping',
|
||||
1,
|
||||
1,
|
||||
@job_name) WITH NOWAIT;
|
||||
|
||||
EXEC msdb.dbo.sp_delete_job @job_name = @job_name,
|
||||
@delete_unused_schedule = 1;
|
||||
|
||||
END;
|
||||
FETCH NEXT FROM clean_jobs
|
||||
INTO @job_name;
|
||||
END;
|
||||
|
||||
CLOSE clean_jobs;
|
||||
DEALLOCATE clean_jobs;
|
||||
85
OCTPDBA-336 - monitor wait stat/find jobs to inspect.sql
Normal file
85
OCTPDBA-336 - monitor wait stat/find jobs to inspect.sql
Normal file
@@ -0,0 +1,85 @@
|
||||
/*=============================================================================
|
||||
|
||||
check si une db hciTools existe, ainsi qu'un job avec "wait stats" dans son nom sur 1 serveur
|
||||
|
||||
-----------------------------------------------
|
||||
us 336, pour faire le drop des jobs non standardisés
|
||||
|
||||
Contexte d'utilisation
|
||||
----------------------
|
||||
sur toute les instances avec une db hciTools et ayant un job dont la logique correspond à xxx
|
||||
|
||||
Création : 12.10.2022 / TSC
|
||||
|
||||
=============================================================================*/
|
||||
USE [master];
|
||||
GO
|
||||
SET XACT_ABORT ON;
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @db_hci BIT = 0;
|
||||
DECLARE @tbl_job_name TABLE (job_id UNIQUEIDENTIFIER,
|
||||
job_name VARCHAR(500),
|
||||
matched_by VARCHAR(500),
|
||||
treated BIT
|
||||
DEFAULT 0);
|
||||
|
||||
SELECT @db_hci = 1
|
||||
FROM sys.databases db
|
||||
WHERE name = 'HCITools';
|
||||
|
||||
IF @db_hci = 1
|
||||
BEGIN
|
||||
--la db hci_tools existe, on check le job
|
||||
INSERT INTO @tbl_job_name ([job_name],
|
||||
[job_id],
|
||||
[matched_by])
|
||||
SELECT [name],
|
||||
[sj].[job_id],
|
||||
'keyword "wait stats" in name'
|
||||
FROM msdb.dbo.sysjobs sj
|
||||
WHERE LOWER(sj.[name]) LIKE '%wait stat%'
|
||||
AND LOWER(sj.[name]) <> '_D92060 - Monitor Wait Stats';
|
||||
|
||||
INSERT INTO @tbl_job_name ([job_name],
|
||||
[job_id],
|
||||
[matched_by])
|
||||
SELECT sj.[name],
|
||||
sj.[job_id],
|
||||
'dmv "dm_os_wait_stats" in code'
|
||||
FROM msdb.dbo.sysjobs sj
|
||||
INNER JOIN msdb.dbo.[sysjobsteps] sp
|
||||
ON [sp].[job_id] = [sj].[job_id]
|
||||
WHERE [sp].[command] LIKE '%sys.dm_os_wait_stats%'
|
||||
AND LOWER(sj.[name]) <> '_D92060 - Monitor Wait Stats';
|
||||
END;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM @tbl_job_name)
|
||||
AND @db_hci = 1
|
||||
BEGIN
|
||||
DECLARE @job_name VARCHAR(500);
|
||||
DECLARE @job_id UNIQUEIDENTIFIER;
|
||||
DECLARE @job_source VARCHAR(500);
|
||||
|
||||
WHILE EXISTS (SELECT 1 FROM @tbl_job_name WHERE [treated] = 0)
|
||||
BEGIN
|
||||
SELECT TOP (1) @job_name = [j].[job_name],
|
||||
@job_id = [j].[job_id],
|
||||
@job_source = j.[matched_by]
|
||||
FROM @tbl_job_name j
|
||||
WHERE [j].[treated] = 0;
|
||||
|
||||
RAISERROR(
|
||||
'Non standard job seems to be here, check if "%s" should be dropped. (matched by %s)',
|
||||
1,
|
||||
1,
|
||||
@job_name,
|
||||
@job_source) WITH NOWAIT;
|
||||
|
||||
UPDATE @tbl_job_name
|
||||
SET [treated] = 1
|
||||
WHERE [job_id] = @job_id
|
||||
AND [job_name] = @job_name;
|
||||
END;
|
||||
END;
|
||||
|
||||
Reference in New Issue
Block a user