From 8272c0cc5623cc03ec2501b7b84a843a5134db3f Mon Sep 17 00:00:00 2001 From: Thierry Schork Date: Wed, 26 Apr 2023 14:28:47 +0200 Subject: [PATCH] sync --- bkp_apo-cc7bffa0-701b-4bb2-9a9c-090d9646a93e.json | 6 ++++++ check_amr-ef7f7e95-0173-4c0a-b540-65616077d483.json | 6 ++++++ class_add-f5116e48-dbe8-4e51-8628-e4dc235bdb5a.json | 6 ++++++ commvault_tpl-d21e6640-4e55-42d2-9035-f291e0f4c18d.json | 6 ++++++ crs_start-ccd61e56-ded6-427a-9bd7-24200486cb1d.json | 6 ++++++ dump-6115073f-913a-4afd-adfa-879dd4faf94d.json | 6 ++++++ get_ou-fcdb6507-ae0e-4736-85b1-f88b50c64ab0.json | 6 ++++++ idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json | 2 +- mon-ffc01a1e-c871-47db-9265-d31ee09e0802.json | 6 ++++++ monitor_amr-a9eb2b32-353d-4eb3-a1d9-a89a1440a2ba.json | 6 ++++++ repl-8c60aa30-593b-4050-b490-044f10ecd07f.json | 8 +------- 11 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 bkp_apo-cc7bffa0-701b-4bb2-9a9c-090d9646a93e.json create mode 100644 check_amr-ef7f7e95-0173-4c0a-b540-65616077d483.json create mode 100644 class_add-f5116e48-dbe8-4e51-8628-e4dc235bdb5a.json create mode 100644 commvault_tpl-d21e6640-4e55-42d2-9035-f291e0f4c18d.json create mode 100644 crs_start-ccd61e56-ded6-427a-9bd7-24200486cb1d.json create mode 100644 dump-6115073f-913a-4afd-adfa-879dd4faf94d.json create mode 100644 get_ou-fcdb6507-ae0e-4736-85b1-f88b50c64ab0.json create mode 100644 mon-ffc01a1e-c871-47db-9265-d31ee09e0802.json create mode 100644 monitor_amr-a9eb2b32-353d-4eb3-a1d9-a89a1440a2ba.json diff --git a/bkp_apo-cc7bffa0-701b-4bb2-9a9c-090d9646a93e.json b/bkp_apo-cc7bffa0-701b-4bb2-9a9c-090d9646a93e.json new file mode 100644 index 0000000..648c4ac --- /dev/null +++ b/bkp_apo-cc7bffa0-701b-4bb2-9a9c-090d9646a93e.json @@ -0,0 +1,6 @@ +{ + "id": "cc7bffa0-701b-4bb2-9a9c-090d9646a93e", + "prefix": "bkp_apo", + "description": "backup activepos_read and wait for the job to finish", + "body": "SET XACT_ABORT ON \r\nDECLARE @pos2 sysname;\r\n\r\nSELECT @pos2 = POS_hostname\r\nFROM Arizona.dbo.Point_of_sale\r\nWHERE POS_number = 2;\r\n\r\nBEGIN TRY\r\n EXEC sys.sp_testlinkedserver @pos2\r\n\r\n --start backup\r\n EXEC msdb.dbo.sp_start_job @job_name = N'D91030 - Backup ActivePos_Read' , @step_name = 'Purge old ActivePos_Read backups'\r\n\r\n WAITFOR DELAY '00:00:05.000'\r\n\r\n WHILE 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\n END \r\n \r\n --last status\r\n SELECT\r\n JobName = J.name,\r\n H.*\r\n FROM\r\n msdb.dbo.sysjobs AS J\r\n CROSS APPLY (\r\n SELECT TOP 20\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 ,t.[instance_id]\r\n FROM msdb.dbo.sysjobhistory AS T\r\n WHERE T.job_id = J.job_id\r\n ORDER BY t.[instance_id] DESC\r\n ) AS H\r\n WHERE [J].[name]='D91030 - Backup ActivePos_Read'\r\n AND [H].[StepNumber] = 0\r\n ORDER BY J.name\r\n\r\n\r\nEND TRY\r\nBEGIN CATCH\r\n PRINT ERROR_MESSAGE()\r\n RAISERROR('pos %s is not reachable', 16, 2, @pos2)\r\nEND CATCH\r\n" +} \ No newline at end of file diff --git a/check_amr-ef7f7e95-0173-4c0a-b540-65616077d483.json b/check_amr-ef7f7e95-0173-4c0a-b540-65616077d483.json new file mode 100644 index 0000000..41a3cc4 --- /dev/null +++ b/check_amr-ef7f7e95-0173-4c0a-b540-65616077d483.json @@ -0,0 +1,6 @@ +{ + "id": "ef7f7e95-0173-4c0a-b540-65616077d483", + "prefix": "check_amr", + "description": "check recorded amr by connectic and max current amr", + "body": "SELECT s.*, a.APS_monitor_row_ID, a.AMR_APS_TS\r\nFROM ActiveSystemServer.amr.MonitorRowsStatus s\r\n LEFT JOIN Arizona.dbo.APS_monitor_row a ON a.APS_monitor_row_ID = s.LastTreatedMonitorRow\r\nWHERE s.DatabaseName='arizona'\r\n\r\nSELECT MAX(a.APS_monitor_row_ID)\r\nFROM Arizona.dbo.APS_monitor_row a \r\n" +} \ No newline at end of file diff --git a/class_add-f5116e48-dbe8-4e51-8628-e4dc235bdb5a.json b/class_add-f5116e48-dbe8-4e51-8628-e4dc235bdb5a.json new file mode 100644 index 0000000..1a0128a --- /dev/null +++ b/class_add-f5116e48-dbe8-4e51-8628-e4dc235bdb5a.json @@ -0,0 +1,6 @@ +{ + "id": "f5116e48-dbe8-4e51-8628-e4dc235bdb5a", + "prefix": "class_add", + "description": "add classification to a column", + "body": "ADD SENSITIVITY CLASSIFICATION TO $CURSOR$ WITH ( LABEL='Confidential', INFORMATION_TYPE='Galenica Used Personal Informations', RANK=High );" +} \ No newline at end of file diff --git a/commvault_tpl-d21e6640-4e55-42d2-9035-f291e0f4c18d.json b/commvault_tpl-d21e6640-4e55-42d2-9035-f291e0f4c18d.json new file mode 100644 index 0000000..cf4f914 --- /dev/null +++ b/commvault_tpl-d21e6640-4e55-42d2-9035-f291e0f4c18d.json @@ -0,0 +1,6 @@ +{ + "id": "d21e6640-4e55-42d2-9035-f291e0f4c18d", + "prefix": "commvault_tpl", + "description": "", + "body": "/* \r\nSee https://galenica.atlassian.net/wiki/spaces/DBA/pages/247567427/CMD+-+Backup+and+Restore+with+CLR+and+SP+in+HCITools\r\nfor example how to use the CLR\r\n*/\r\nDECLARE @password varchar(255)\r\nSET @password = HCITools.dbo.fn_Decrypt(\r\n0x01000000C2811DD6D0339FF2EFE6AE1181B3469D18798020836E3E0A1E4BC96D548B4FCDFFB77F264E1A4F42AD91F785284A6F5D4F3E533B0355E88F91A61E7E671472D3F580FC36CCF0AE48858099190C1B7E3A1A2A292A3E8809B40EAB6EAECF3C0FF6871CAF54A3928615C21830602BCB12F1F973E4B4B1F34A613B342C397372596025DB62CB426319AE916D0DC5CCAED8A62675D7602D592A92);\r\n" +} \ No newline at end of file diff --git a/crs_start-ccd61e56-ded6-427a-9bd7-24200486cb1d.json b/crs_start-ccd61e56-ded6-427a-9bd7-24200486cb1d.json new file mode 100644 index 0000000..f357510 --- /dev/null +++ b/crs_start-ccd61e56-ded6-427a-9bd7-24200486cb1d.json @@ -0,0 +1,6 @@ +{ + "id": "ccd61e56-ded6-427a-9bd7-24200486cb1d", + "prefix": "crs_start", + "description": "start crs logreader agent", + "body": "EXEC msdb.dbo.sp_start_job @job_name = N'DR00500 - Arizona Log reader' , @step_name = 'Log Reader Agent startup message.'" +} \ No newline at end of file diff --git a/dump-6115073f-913a-4afd-adfa-879dd4faf94d.json b/dump-6115073f-913a-4afd-adfa-879dd4faf94d.json new file mode 100644 index 0000000..0048594 --- /dev/null +++ b/dump-6115073f-913a-4afd-adfa-879dd4faf94d.json @@ -0,0 +1,6 @@ +{ + "id": "6115073f-913a-4afd-adfa-879dd4faf94d", + "prefix": "dump", + "description": "make a full instance dump", + "body": "EXEC [HCITools].dbo.[bkp_Dump] @in_Recovery_Model = 'FULL,SIMPLE';" +} \ No newline at end of file diff --git a/get_ou-fcdb6507-ae0e-4736-85b1-f88b50c64ab0.json b/get_ou-fcdb6507-ae0e-4736-85b1-f88b50c64ab0.json new file mode 100644 index 0000000..3bd1258 --- /dev/null +++ b/get_ou-fcdb6507-ae0e-4736-85b1-f88b50c64ab0.json @@ -0,0 +1,6 @@ +{ + "id": "fcdb6507-ae0e-4736-85b1-f88b50c64ab0", + "prefix": "get_ou", + "description": "get the local pharmacy OU into @ou_id", + "body": "DECLARE @ou_id INT \r\nEXEC Arizona.dbo.sp_bmc_Bmc_Applic_Default \r\n @in_job_type = 3,\r\n @in_param_int_1 = null, /* Company */\r\n @in_param_int_2 = null, /* Subsidiary */\r\n @in_param_varchar_1 = 'cvCurrentOrganizationalUnit',\r\n @out_default_value = @ou_id output,\r\n @out_param_int_1 = null" +} \ No newline at end of file diff --git a/idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json b/idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json index dc4c112..f98b665 100644 --- a/idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json +++ b/idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json @@ -2,5 +2,5 @@ "id": "fb34ee85-4240-4e00-bc54-1388acccb026", "prefix": "idx1", "description": "list all indexes on a given table", - "body": ";WITH ColInfo AS \r\n(\tSELECT TblName = o.name\r\n\t\t\t,SchemaTbl = s.name + '.' + o.name\r\n\t\t\t,IndexName = i.name\r\n\t\t\t,IsPrimaryKey = i.is_primary_key\r\n\t\t\t,IsUniqueConstraint = i.is_unique_constraint\r\n\t\t\t,IsUnique = i.is_unique\r\n\t\t\t,ColName = c.name\r\n\t\t\t,IsComputedCol = c.is_computed\r\n\t\t\t,IsIncludedCol = ic.is_included_column\r\n\t\t\t,ic.key_ordinal\r\n\t\t\t,FilterDefinition = i.filter_definition\r\n\t\t\t,crlf = CHAR(13) + CHAR(10)\r\n\t\t\t,crlfgo = ';' + CHAR(13) + CHAR(10) + 'GO' + CHAR(13) + CHAR(10) \r\n\tFROM sys.objects o \r\n\t\tINNER JOIN sys.schemas s ON o.schema_id = s.schema_id\r\n\t\tINNER JOIN sys.columns c ON o.object_id = c.object_id\r\n\t\tINNER JOIN sys.indexes i ON c.object_id = i.object_id\r\n\t\tINNER JOIN sys.index_columns ic ON i.index_id = ic.index_id AND o.object_id = ic.object_id AND c.column_id = ic.column_id\r\n\tWHERE o.name = '$CURSOR$'\r\n\t\t--AND i.filter_definition IS NOT NULL\r\n)\r\nSELECT DISTINCT \r\n\t\tx.TblName\r\n\t ,x.IndexName\r\n\t ,x.IsPrimaryKey\r\n\t ,x.IsUniqueConstraint\r\n\t ,x.IsUnique\r\n\t --,size.IndexSizeKB\r\n\t ,c.IndexColumns\r\n\t ,ci.IncludedColumns\r\n\t ,cc.ComputedColumns\r\n\t ,x.FilterDefinition\r\n\t ,DropCreateSQL = x.crlf + '-- ' + x.IndexName + x.crlf + \r\n\t\t\t\t\t\t--check drop\r\n\t\t\t\t\t\t'IF INDEXPROPERTY(OBJECT_ID('''+x.SchemaTbl+'''), '''+x.IndexName+''' , ''IndexID'' ) IS NOT NULL BEGIN;'+x.crlf+\r\n\t\t\t\t\t\tCASE WHEN x.IsPrimaryKey = 1 THEN NULL\r\n\t\t\t\t\t\t\tWHEN x.IsUniqueConstraint = 1 THEN \r\n\t\t\t\t\t\t\t--drop statement\r\n\t\t\t\t\t\t\t'\tALTER TABLE ' + x.SchemaTbl + ' DROP CONSTRAINT ' + x.IndexName + ';' + x.crlf \r\n\t\t\t\t\t\t\t+'END' + x.crlfgo\r\n\t\t\t\t\t\t\t--check create\r\n\t\t\t\t\t\t\t+'IF INDEXPROPERTY(OBJECT_ID('''+x.SchemaTbl+'''), '''+x.IndexName+''' , ''IndexID'' ) IS NULL BEGIN;'+x.crlf+\r\n\t\t\t\t\t\t\t--create statement\r\n\t\t\t\t\t\t\t+'\tALTER TABLE ' + x.SchemaTbl + ' ADD CONSTRAINT ' + x.IndexName + ' UNIQUE (' + c.IndexColumns + ');' + x.crlf \r\n\t\t\t\t\t\t\t+'END' + x.crlfgo\r\n\t\t\t\t\t\t\tELSE \r\n\t\t\t\t\t\t\t--drop statement\r\n\t\t\t\t\t\t\t'\tDROP INDEX ' + x.SchemaTbl + '.' + x.IndexName + ';'+ x.crlf\r\n\t\t\t\t\t\t\t+'END' + x.crlfgo\r\n\t\t\t\t\t\t\t--check create\r\n\t\t\t\t\t\t\t+'IF INDEXPROPERTY(OBJECT_ID('''+x.SchemaTbl+'''), '''+x.IndexName+''' , ''IndexID'' ) IS NULL BEGIN;'+x.crlf+\r\n\t\t\t\t\t\t\t--create statement\r\n\t\t\t\t\t\t\t+ '\tCREATE ' + CASE WHEN x.IsUnique = 1 THEN 'UNIQUE ' ELSE '' END + 'INDEX ' + x.IndexName + ' ON ' + x.SchemaTbl + '(' + c.IndexColumns + ')' \r\n\t\t\t\t\t\t\t+ ISNULL(' INCLUDE(' + ci.IncludedColumns + ')', '') \r\n\t\t\t\t\t\t\t+ ISNULL(' WHERE ' + x.FilterDefinition, '') + ';' + x.crlf \r\n\t\t\t\t\t\t\t+'END'+x.crlfgo\r\n\t\t\t\t\t\tEND\r\nFROM ColInfo x\r\nCROSS APPLY(SELECT\tIndexColumns = STUFF(sq.strXML, 1, 2, '')\r\n\t\t\tFROM (\tSELECT\t', ' + ISNULL(x2.ColName, '')\r\n\t\t\t\t\tFROM\tColInfo x2\r\n\t\t\t\t\tWHERE\tx.TblName = x2.TblName AND x.IndexName = x2.IndexName AND x2.IsIncludedCol = 0\r\n\t\t\t\t\tORDER\tBY x2.key_ordinal\r\n\t\t\t\t\tFOR XML PATH('')\r\n\t\t\t\t) sq (strXML)\r\n\t\t) c\r\nOuter APPLY(SELECT\tIncludedColumns = STUFF(sq.strXML, 1, 2, '')\r\n\t\t\tFROM (\tSELECT\t', ' + ISNULL(x2.ColName, '')\r\n\t\t\t\t\tFROM\tColInfo x2\r\n\t\t\t\t\tWHERE\tx.TblName = x2.TblName AND x.IndexName = x2.IndexName AND x2.IsIncludedCol = 1\r\n\t\t\t\t\tORDER\tBY x2.key_ordinal\r\n\t\t\t\t\tFOR XML PATH('')\r\n\t\t\t\t) sq (strXML)\r\n\t\t) ci\r\nOuter APPLY(SELECT\tComputedColumns = STUFF(sq.strXML, 1, 2, '')\r\n\t\t\tFROM (\tSELECT\t', ' + ISNULL(x2.ColName, '')\r\n\t\t\t\t\tFROM\tColInfo x2\r\n\t\t\t\t\tWHERE\tx.TblName = x2.TblName AND x.IndexName = x2.IndexName AND x2.IsComputedCol = 1\r\n\t\t\t\t\tORDER\tBY x2.key_ordinal\r\n\t\t\t\t\tFOR XML PATH('')\r\n\t\t\t\t) sq (strXML)\r\n\t\t) cc\r\n;\r\n" + "body": ";WITH ColInfo\r\n AS (SELECT TblName = o.name,\r\n SchemaTbl = s.name + '.' + o.name,\r\n IndexName = i.name,\r\n IsPrimaryKey = [i].[is_primary_key],\r\n IsUniqueConstraint = [i].[is_unique_constraint],\r\n IsUnique = [i].[is_unique],\r\n ColName = c.name,\r\n IsComputedCol = [c].[is_computed],\r\n IsIncludedCol = [ic].[is_included_column],\r\n [ic].[key_ordinal],\r\n FilterDefinition = [i].[filter_definition],\r\n i.[index_id],\r\n crlf = CHAR(13) + CHAR(10),\r\n crlfgo = ';' + CHAR(13) + CHAR(10) + 'GO' + CHAR(13) + CHAR(10),\r\n [o].[object_id]\r\n FROM sys.objects o\r\n INNER JOIN sys.schemas s\r\n ON o.schema_id = s.schema_id\r\n INNER JOIN sys.columns c\r\n ON o.object_id = c.object_id\r\n INNER JOIN sys.indexes i\r\n ON c.object_id = i.object_id\r\n INNER JOIN sys.index_columns ic\r\n ON i.index_id = ic.index_id\r\n AND o.object_id = ic.object_id\r\n AND c.column_id = ic.column_id\r\n WHERE s.name = 'dbo'\r\n AND o.name = '$CURSOR$'\r\n--AND i.filter_definition IS NOT NULL\r\n)\r\nSELECT DISTINCT [x].[TblName],\r\n [x].[IndexName],\r\n [x].[index_id],\r\n [x].[IsPrimaryKey],\r\n [x].[IsUniqueConstraint],\r\n [x].[IsUnique],\r\n --,size.IndexSizeKB\r\n [c].[IndexColumns],\r\n [ci].[IncludedColumns],\r\n [cc].[ComputedColumns],\r\n [x].[FilterDefinition],\r\n [sz].[IndexSizeMB],\r\n [us].[Reads],\r\n [us].[Writes],\r\n DropCreateSQL = [x].[crlf] + '-- ' + x.IndexName + [x].[crlf] +\r\n --check drop\r\n 'IF INDEXPROPERTY(OBJECT_ID(''' + [x].[SchemaTbl] + '''), ''' + x.IndexName\r\n + ''' , ''IndexID'' ) IS NOT NULL BEGIN;' + [x].[crlf]\r\n + CASE\r\n WHEN [x].[IsPrimaryKey] = 1 THEN NULL\r\n WHEN [x].[IsUniqueConstraint] = 1 THEN\r\n --drop statement\r\n ' ALTER TABLE ' + [x].[SchemaTbl] + ' DROP CONSTRAINT ' + x.IndexName + ';'\r\n + [x].[crlf] + 'END' + [x].[crlfgo]\r\n --check create\r\n + 'IF INDEXPROPERTY(OBJECT_ID(''' + [x].[SchemaTbl] + '''), ''' + x.IndexName\r\n + ''' , ''IndexID'' ) IS NULL BEGIN;' + [x].[crlf] +\r\n --create statement\r\n +' ALTER TABLE '\r\n + [x].[SchemaTbl] + ' ADD CONSTRAINT ' + x.IndexName + ' UNIQUE ('\r\n + [c].[IndexColumns] + ');' + [x].[crlf] + 'END' + [x].[crlfgo]\r\n ELSE\r\n --drop statement\r\n ' DROP INDEX ' + [x].[SchemaTbl] + '.' + x.IndexName + ';' + [x].[crlf]\r\n + 'END' + [x].[crlfgo]\r\n --check create\r\n + 'IF INDEXPROPERTY(OBJECT_ID(''' + [x].[SchemaTbl] + '''), ''' + x.IndexName\r\n + ''' , ''IndexID'' ) IS NULL BEGIN;' + [x].[crlf] +\r\n --create statement\r\n +' CREATE '\r\n + CASE\r\n WHEN [x].[IsUnique] = 1 THEN 'UNIQUE '\r\n ELSE '' END + 'INDEX ' + x.IndexName + ' ON ' + [x].[SchemaTbl] + '('\r\n + [c].[IndexColumns] + ')'\r\n + ISNULL(' INCLUDE(' + [ci].[IncludedColumns] + ')', '')\r\n + ISNULL(' WHERE ' + [x].[FilterDefinition], '') + ';' + [x].[crlf] + 'END'\r\n + [x].[crlfgo] END\r\n FROM ColInfo x\r\n OUTER APPLY ( SELECT IndexColumns = STUFF([sq].[strXML], 1, 2, '')\r\n FROM ( SELECT ', ' + ISNULL([x2].[ColName], '')\r\n FROM ColInfo x2\r\n WHERE x.TblName = [x2].[TblName]\r\n AND x.IndexName = [x2].[IndexName]\r\n AND [x2].[IsIncludedCol] = 0\r\n ORDER BY x2.key_ordinal\r\n FOR XML PATH('')) sq(strXML) ) c\r\n OUTER APPLY ( SELECT IncludedColumns = STUFF([sq].[strXML], 1, 2, '')\r\n FROM ( SELECT ', ' + ISNULL([x2].[ColName], '')\r\n FROM ColInfo x2\r\n WHERE x.TblName = [x2].[TblName]\r\n AND x.IndexName = [x2].[IndexName]\r\n AND [x2].[IsIncludedCol] = 1\r\n ORDER BY x2.key_ordinal\r\n FOR XML PATH('')) sq(strXML) ) ci\r\n OUTER APPLY ( SELECT ComputedColumns = STUFF([sq].[strXML], 1, 2, '')\r\n FROM ( SELECT ', ' + ISNULL([x2].[ColName], '')\r\n FROM ColInfo x2\r\n WHERE x.TblName = [x2].[TblName]\r\n AND x.IndexName = [x2].[IndexName]\r\n AND [x2].[IsComputedCol] = 1\r\n ORDER BY x2.key_ordinal\r\n FOR XML PATH('')) sq(strXML) ) cc\r\n OUTER APPLY ( SELECT tblName = o.name,\r\n o.type,\r\n i.name AS [IndexName],\r\n i.index_id,\r\n [s].[user_seeks] + [s].[user_scans] + [s].[user_lookups] AS [Reads],\r\n [s].[user_updates] AS [Writes],\r\n i.type_desc AS [IndexType],\r\n [i].[fill_factor] AS [FillFactor],\r\n [i].[has_filter],\r\n [i].[filter_definition],\r\n [s].[last_user_scan],\r\n [s].[last_user_lookup],\r\n [s].[last_user_seek]\r\n FROM sys.dm_db_index_usage_stats AS s WITH (NOLOCK)\r\n INNER JOIN sys.indexes AS i WITH (NOLOCK)\r\n ON s.object_id = i.object_id\r\n INNER JOIN sys.objects o WITH (NOLOCK)\r\n ON s.object_id = o.object_id\r\n WHERE o.type = 'U' -- user table\r\n AND i.index_id = s.index_id\r\n AND [s].[database_id] = DB_ID()\r\n AND o.name = x.TblName\r\n AND i.name = x.IndexName) us\r\n OUTER APPLY ( SELECT [i].[name] AS IndexName,\r\n SUM([s].[used_page_count]) * 8 / 1024 AS IndexSizeMB\r\n FROM sys.dm_db_partition_stats AS s\r\n JOIN sys.indexes AS i\r\n ON s.[object_id] = i.[object_id]\r\n AND s.index_id = i.index_id\r\n WHERE s.[object_id] = x.[object_id] --OBJECT_ID('dbo.document_line')\r\n AND [i].[name] = x.IndexName\r\n GROUP BY [i].[name]) sz\r\nORDER BY [x].[index_id];\r\n" } \ No newline at end of file diff --git a/mon-ffc01a1e-c871-47db-9265-d31ee09e0802.json b/mon-ffc01a1e-c871-47db-9265-d31ee09e0802.json new file mode 100644 index 0000000..e8e0155 --- /dev/null +++ b/mon-ffc01a1e-c871-47db-9265-d31ee09e0802.json @@ -0,0 +1,6 @@ +{ + "id": "ffc01a1e-c871-47db-9265-d31ee09e0802", + "prefix": "mon", + "description": "check des triggers monitoring ", + "body": "--should yields around 240 \r\nselect count(*) from Arizona.sys.triggers\r\nwhere name like '%Mon%'" +} \ No newline at end of file diff --git a/monitor_amr-a9eb2b32-353d-4eb3-a1d9-a89a1440a2ba.json b/monitor_amr-a9eb2b32-353d-4eb3-a1d9-a89a1440a2ba.json new file mode 100644 index 0000000..0173fc8 --- /dev/null +++ b/monitor_amr-a9eb2b32-353d-4eb3-a1d9-a89a1440a2ba.json @@ -0,0 +1,6 @@ +{ + "id": "a9eb2b32-353d-4eb3-a1d9-a89a1440a2ba", + "prefix": "monitor_amr", + "description": "list amr pending in the pharmacy", + "body": "EXEC [ActiveSystemServer].[amr].[MonitoringReport]" +} \ No newline at end of file diff --git a/repl-8c60aa30-593b-4050-b490-044f10ecd07f.json b/repl-8c60aa30-593b-4050-b490-044f10ecd07f.json index 1261916..9a595c4 100644 --- a/repl-8c60aa30-593b-4050-b490-044f10ecd07f.json +++ b/repl-8c60aa30-593b-4050-b490-044f10ecd07f.json @@ -2,11 +2,5 @@ "id": "8c60aa30-593b-4050-b490-044f10ecd07f", "prefix": "repl", "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--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 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 $pos$\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 ='$pos$'\r\nEXEC ActiveSystemServer.dbo.RepairReplication\r\n", - "placeholders": [ - { - "name": "pos", - "defaultValue": "$CLIPBOARD" - } - ] + "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" } \ No newline at end of file