This commit is contained in:
2023-05-24 14:42:30 +02:00
parent 8272c0cc56
commit bac36d12ef
3 changed files with 13 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
{
"id": "0eb1ed81-6410-464e-aec4-3580bef84fa4",
"prefix": "check_critical_jobs",
"description": "Populate smsJobCheck with the next schedule the syncro HIV should run",
"body": "/*============================================================================= \r\n\r\nPopulate smsJobCheck with the next schedule the syncro HIV should run\r\nExtracted FROM [mon].[Check_Critical_Job]\r\n\r\nCreation : 17.05.2023 / TSC\r\nModifications:\r\n\r\n=============================================================================*/ \r\nIF EXISTS (\r\n SELECT 1 \r\n FROM [HCITools].[mon].[SMSJobCheck] a\r\n WHERE [a].[SJCNextExecution] IS NULL \r\n)\r\nBEGIN \r\n UPDATE sjc\r\n SET [sjc].[SJCNextExecution] = [sja].[next_scheduled_run_date]\r\n FROM HCITools.[mon].SMSJobCheck sjc\r\n INNER JOIN msdb.dbo.sysjobsteps sjs WITH (NOLOCK)\r\n ON [sjs].[step_name] LIKE '%Start job %' + [sjc].[SJCJobName] + '%'\r\n INNER JOIN msdb.dbo.sysjobs sj WITH (NOLOCK)\r\n ON sjs.job_id = sj.job_id\r\n INNER JOIN msdb.dbo.sysjobactivity sja WITH (NOLOCK)\r\n ON sja.job_id = sj.job_id\r\n INNER JOIN msdb.dbo.syssessions AS sse\r\n ON sja.session_id = sse.session_id\r\n INNER JOIN\r\n (\r\n SELECT MAX(agent_start_date) AS agent_start_date\r\n FROM msdb.dbo.syssessions\r\n ) AS mss\r\n ON sse.agent_start_date = mss.agent_start_date\r\n WHERE ISNULL([sja].[start_execution_date], GETDATE()-1) >= ISNULL([sjc].[SJCNextExecution], GETDATE() - 1);\r\nEND "
}

View File

@@ -0,0 +1,6 @@
{
"id": "badb18aa-a652-4f7e-a6fc-ae6d2a4c90d5",
"prefix": "mio",
"description": "only my hostname",
"body": "IF HOST_NAME()='CGAL41556'\r\nBEGIN\r\n \r\nEND "
}

View File

@@ -2,5 +2,5 @@
"id": "8c60aa30-593b-4050-b490-044f10ecd07f", "id": "8c60aa30-593b-4050-b490-044f10ecd07f",
"prefix": "repl", "prefix": "repl",
"description": "", "description": "",
"body": "SELECT pos.POS_hostname, pos.POS_number, pos.POS_type\r\nFROM [Arizona].[dbo].[Point_of_sale] [pos]\r\nWHERE [pos].[POS_active]=1\r\nAND [pos].[POS_type] IN (1,2)\r\nAND [pos].[POS_number] < 99\r\n;\r\n\r\nRETURN\r\n\r\n--last backup\r\nSELECT\r\n JobName = J.name,\r\n H.*\r\nFROM\r\n msdb.dbo.sysjobs AS J\r\n CROSS APPLY (\r\n SELECT TOP 1\r\n JobName = J.name,\r\n StepNumber = T.step_id,\r\n StepName = T.step_name,\r\n StepStatus = CASE T.run_status\r\n WHEN 0 THEN 'Failed'\r\n WHEN 1 THEN 'Succeeded'\r\n WHEN 2 THEN 'Retry'\r\n WHEN 3 THEN 'Canceled'\r\n ELSE 'Running' END,\r\n ExecutedAt = msdb.dbo.agent_datetime(T.run_date, T.run_time),\r\n ExecutingHours = ((T.run_duration/10000 * 3600 + (T.run_duration/100) % 100 * 60 + T.run_duration % 100 + 31 ) / 60) / 60,\r\n ExecutingMinutes = ((T.run_duration/10000 * 3600 + (T.run_duration/100) % 100 * 60 + T.run_duration % 100 + 31 ) / 60) % 60,\r\n Message = T.message\r\n FROM msdb.dbo.sysjobhistory AS T\r\n WHERE T.job_id = J.job_id\r\n AND [J].[name]='D91030 - Backup ActivePos_Read'\r\n ORDER BY T.instance_id DESC\r\n ) AS H\r\nORDER BY J.name\r\n\r\n--start backup\r\nEXEC msdb.dbo.sp_start_job @job_name = N'D91030 - Backup ActivePos_Read' , @step_name = 'Purge old ActivePos_Read backups'\r\n\r\nWAITFOR DELAY '00:00:05.000'\r\n\r\nWHILE EXISTS(\r\n SELECT sj.name\r\n , sja.*\r\n FROM msdb.dbo.sysjobactivity AS sja\r\n INNER JOIN msdb.dbo.sysjobs AS sj ON sja.job_id = sj.job_id\r\n WHERE sj.[name]='D91030 - Backup ActivePos_Read'\r\n AND sja.start_execution_date IS NOT NULL\r\n AND sja.stop_execution_date IS NULL\r\n) BEGIN\r\n --PRINT 'job is still running '+CONVERT(VARCHAR(20), CURRENT_TIMESTAMP, 120);\r\n DECLARE @t VARCHAR(20) = CONVERT(VARCHAR(20), CURRENT_TIMESTAMP, 120);\r\n RAISERROR('%s, job is still running', 0, 1, @t) WITH NOWAIT;\r\n WAITFOR DELAY '00:00:05.000'\r\nEND \r\n\r\n--check POS and PHCY versions\r\nSELECT ActivePos_write.upd.DatabaseVersion()\r\nEXEC ('SELECT ActivePos_write.upd.DatabaseVersion()') AT xxx\r\n\r\n--force restore after manual copy\r\nEXEC ('exec ActivePos_write.dbo.InitializeActivePosReadFromBackup @BackUpFileWithPath = ''c:\\temp\\ActivePos_read.22.1.223.2401.bak''') AT xxx\r\n\r\n--subscription\r\nEXEC ActivePos_read..sp_dropsubscription @publication = N'ActivePosTran', @article = N'all', @subscriber ='xxx'\r\nEXEC ActiveSystemServer.dbo.RepairReplication\r\n" "body": "SELECT pos.POS_hostname, pos.POS_number, pos.POS_type\r\nFROM [Arizona].[dbo].[Point_of_sale] [pos]\r\nWHERE [pos].[POS_active]=1\r\nAND [pos].[POS_type] IN (1,2)\r\nAND [pos].[POS_number] < 99\r\n;\r\n\r\nRETURN\r\n\r\n--last backup\r\nSELECT\r\n JobName = J.name,\r\n H.*\r\nFROM\r\n msdb.dbo.sysjobs AS J\r\n CROSS APPLY (\r\n SELECT TOP 1\r\n JobName = J.name,\r\n StepNumber = T.step_id,\r\n StepName = T.step_name,\r\n StepStatus = CASE T.run_status\r\n WHEN 0 THEN 'Failed'\r\n WHEN 1 THEN 'Succeeded'\r\n WHEN 2 THEN 'Retry'\r\n WHEN 3 THEN 'Canceled'\r\n ELSE 'Running' END,\r\n ExecutedAt = msdb.dbo.agent_datetime(T.run_date, T.run_time),\r\n ExecutingHours = ((T.run_duration/10000 * 3600 + (T.run_duration/100) % 100 * 60 + T.run_duration % 100 + 31 ) / 60) / 60,\r\n ExecutingMinutes = ((T.run_duration/10000 * 3600 + (T.run_duration/100) % 100 * 60 + T.run_duration % 100 + 31 ) / 60) % 60,\r\n Message = T.message\r\n FROM msdb.dbo.sysjobhistory AS T\r\n WHERE T.job_id = J.job_id\r\n AND [J].[name]='D91030 - Backup ActivePos_Read'\r\n ORDER BY T.instance_id DESC\r\n ) AS H\r\nORDER BY J.name\r\n\r\n--start backup\r\nEXEC msdb.dbo.sp_start_job @job_name = N'D91030 - Backup ActivePos_Read' , @step_name = 'Purge old ActivePos_Read backups'\r\n\r\nWAITFOR DELAY '00:00:05.000'\r\n\r\nWHILE EXISTS(\r\n SELECT sj.name\r\n , sja.*\r\n FROM msdb.dbo.sysjobactivity AS sja\r\n INNER JOIN msdb.dbo.sysjobs AS sj ON sja.job_id = sj.job_id\r\n WHERE sj.[name]='D91030 - Backup ActivePos_Read'\r\n AND sja.start_execution_date IS NOT NULL\r\n AND sja.stop_execution_date IS NULL\r\n) BEGIN\r\n --PRINT 'job is still running '+CONVERT(VARCHAR(20), CURRENT_TIMESTAMP, 120);\r\n DECLARE @t VARCHAR(20) = CONVERT(VARCHAR(20), CURRENT_TIMESTAMP, 120);\r\n RAISERROR('%s, job is still running', 0, 1, @t) WITH NOWAIT;\r\n WAITFOR DELAY '00:00:05.000'\r\nEND \r\n\r\n--check POS and PHCY versions\r\nSELECT ActivePos_write.upd.DatabaseVersion()\r\nEXEC ('SELECT ActivePos_write.upd.DatabaseVersion()') AT xxx\r\n\r\n--force restore after manual copy\r\nEXEC ('exec ActivePos_write.dbo.InitializeActivePosReadFromBackup @BackUpFileWithPath = ''c:\\temp\\ActivePos_read.22.1.223.2401.bak''') AT xxx\r\n\r\n--restart service on pos\r\nEXEC ('EXEC xp_cmdshell ''net stop ActiveposClientService'';EXEC xp_cmdshell ''net start ActiveposClientService''') AT xxx\r\n\r\n--subscription\r\nEXEC ActivePos_read..sp_dropsubscription @publication = N'ActivePosTran', @article = N'all', @subscriber ='xxx'\r\nEXEC ActiveSystemServer.dbo.RepairReplication\r\n"
} }