From eeed2723bfd98963b47bde24bafbbf9a3c792982 Mon Sep 17 00:00:00 2001 From: Marcin Gminski Date: Sun, 9 Sep 2018 20:48:59 +0100 Subject: [PATCH 1/3] initial commit --- SQLWATCHDB/SQLWATCH.sqlproj | 1 + SQLWATCHDB/Script.PostDeployment1.sql | 13 +++++- SQLWATCHDB/bin/Debug/SQLWATCH.dacpac | Bin 20488 -> 21412 bytes SQLWATCHDB/bin/Debug/SQLWATCHDB.dll | Bin 3584 -> 3584 bytes .../sp_sql_perf_mon_add_database.sql | 38 +++++++++++++----- .../dbo/Procedures/sp_sql_perf_mon_logger.sql | 2 +- .../dbo/Tables/sql_perf_mon_database.sql | 7 +++- .../dbo/Tables/sql_perf_mon_master_files.sql | 21 ++++++++++ 8 files changed, 68 insertions(+), 14 deletions(-) create mode 100644 SQLWATCHDB/dbo/Tables/sql_perf_mon_master_files.sql diff --git a/SQLWATCHDB/SQLWATCH.sqlproj b/SQLWATCHDB/SQLWATCH.sqlproj index 2abf2b7a..9116e19a 100644 --- a/SQLWATCHDB/SQLWATCH.sqlproj +++ b/SQLWATCHDB/SQLWATCH.sqlproj @@ -91,6 +91,7 @@ + diff --git a/SQLWATCHDB/Script.PostDeployment1.sql b/SQLWATCHDB/Script.PostDeployment1.sql index 1c827f24..e83b8bf2 100644 --- a/SQLWATCHDB/Script.PostDeployment1.sql +++ b/SQLWATCHDB/Script.PostDeployment1.sql @@ -19,6 +19,17 @@ if (select count(*) from [dbo].[sql_perf_mon_config_who_is_active_age]) = 0 -------------------------------------------------------------------------------------- -- -------------------------------------------------------------------------------------- +/* databases with create_date = '1970-01-01' are from previous +versions of SQLWATCH and we will now update create_date to the actual +create_date (this will only apply to upgrades) */ +update swd + set [database_create_date] = db.[create_date] +from [dbo].[sql_perf_mon_database] swd +inner join sys.databases db + on db.[name] = swd.[database_name] + and swd.[database_create_date] = '1970-01-01' + +/* now add new databases */ exec [dbo].[sp_sql_perf_mon_add_database] -------------------------------------------------------------------------------------- @@ -50,7 +61,7 @@ create nonclustered index tmp_idx_sql_perf_mon_perf_counters_types on #sql_perf_ /* based on https://blogs.msdn.microsoft.com/dfurman/2015/04/02/collecting-performance-counter-values-from-a-sql-azure-database/ */ insert into #sql_perf_mon_config_perf_counters([collect],[object_name],[counter_name], [instance_name],[base_counter_name]) values - (0,'Access Methods','Forwarded Records/sec','',NULL) + (0,'Access Methods','Forwarded Records/sec','',NULL) ,(1,'Access Methods','Full Scans/sec','',NULL) ,(1,'Access Methods','Page Splits/sec','',NULL) ,(1,'Access Methods','Pages Allocated/sec','',NULL) diff --git a/SQLWATCHDB/bin/Debug/SQLWATCH.dacpac b/SQLWATCHDB/bin/Debug/SQLWATCH.dacpac index 464d2e1227ee74ed1d810656c93922f0bcdc8e6e..f9ef57e7804547e072f22b926f5b53df795ae6a3 100644 GIT binary patch delta 20828 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 delta 19923 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 diff --git a/SQLWATCHDB/bin/Debug/SQLWATCHDB.dll b/SQLWATCHDB/bin/Debug/SQLWATCHDB.dll index 442c8ea0379c5eff28ec195083b04f9a943d1ae0..70507a6cb8220214c20f1a3bd073a4efa8969379 100644 GIT binary patch delta 65 zcmZpWX^@%F!R!}2bz}ENW`T9jb_V}Hecy5K;q>c|58EhB_F)MCNlu>6A}O%oeX@`1 VS!ci5L7&cD4BDf$`2>pvCjjNP9ryqM delta 65 zcmZpWX^@%F!MvfpcVqWPW&!i`S$10vD!Q*`iH#^P4f3As!x8|JoIIaJQb1Gg`i%Nj UmQEc$omb_bpIEi|1d9bH096hebpQYW diff --git a/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_add_database.sql b/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_add_database.sql index bc426674..18f4a1d5 100644 --- a/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_add_database.sql +++ b/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_add_database.sql @@ -16,20 +16,36 @@ as set nocount on; declare @databases table ( - [database_name] sysname primary key - ) + [database_name] sysname not null, + [database_create_date] datetime not null default '1970-01-01', + primary key clustered ( + [database_name],[database_create_date] + ) +) insert into @databases - select [name] from sys.databases + select [name], [create_date] + from sys.databases union all /* mssqlsystemresource database appears in the performance counters so we need it as a dimensions to be able to filter in the report */ - select 'mssqlsystemresource' + select 'mssqlsystemresource', '1970-01-01' + + ;merge [dbo].[sql_perf_mon_database] as target + using @databases as source + on ( + source.[database_name] = target.[database_name] + and source.[database_create_date] = target.[database_create_date] + ) + /* dropped databases are going to be updated to current = 0 */ + when not matched by source then + update set [database_current] = 0 + /* new databases are going to be inserted */ + when not matched by target then + insert ([database_name], [database_create_date]) + values (source.[database_name], source.[database_create_date]); - insert into [dbo].[sql_perf_mon_database] - select s.[database_name] - from @databases s - left join [dbo].[sql_perf_mon_database] t - on s.[database_name] = t.[database_name] - where t.[database_name] is null - \ No newline at end of file + /* the above only accounts for databases that have been removed and re-added + if you rename database it will be treated as if it was removed and new + database created so you will lose history continuation. Why would you + rename a database anyway */ \ No newline at end of file diff --git a/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql b/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql index 4df4ced4..9f94b8b6 100644 --- a/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql +++ b/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql @@ -51,11 +51,11 @@ declare @sql nvarchar(4000) -------------------------------------------------------------------------------------------------------------- select @date_snapshot_previous = max([snapshot_time]) from [dbo].[sql_perf_mon_snapshot_header] + where snapshot_type_id = 1 set @date_snapshot_current = getdate(); insert into [dbo].[sql_perf_mon_snapshot_header] values (@date_snapshot_current, 1) - -------------------------------------------------------------------------------------------------------------- -- 1. get cpu diff --git a/SQLWATCHDB/dbo/Tables/sql_perf_mon_database.sql b/SQLWATCHDB/dbo/Tables/sql_perf_mon_database.sql index 3eb5dca9..7f12271c 100644 --- a/SQLWATCHDB/dbo/Tables/sql_perf_mon_database.sql +++ b/SQLWATCHDB/dbo/Tables/sql_perf_mon_database.sql @@ -1,4 +1,9 @@ CREATE TABLE [dbo].[sql_perf_mon_database] ( - [database_name] sysname primary key + [database_name] sysname not null, + [database_create_date] datetime not null default '1970-01-01', + [database_current] bit not null default 1, + constraint PK_database primary key clustered ( + [database_name],[database_create_date] + ) ) diff --git a/SQLWATCHDB/dbo/Tables/sql_perf_mon_master_files.sql b/SQLWATCHDB/dbo/Tables/sql_perf_mon_master_files.sql new file mode 100644 index 00000000..7cf8249a --- /dev/null +++ b/SQLWATCHDB/dbo/Tables/sql_perf_mon_master_files.sql @@ -0,0 +1,21 @@ +CREATE TABLE [dbo].[sql_perf_mon_master_files] +( + [database_name] sysname, + [database_create_date] datetime, + [file_type] tinyint, + [file_physical_name] nvarchar(260), + [file_size] int, + [snapshot_time] datetime, + [snapshot_type_id] tinyint, + constraint PK_sql_perf_mon_master_files primary key clustered ( + [snapshot_time], [database_name] + ), + constraint FK_sql_perf_mon_master_files_db foreign key ([database_name], [database_create_date]) + references [dbo].[sql_perf_mon_database]( + [database_name], [database_create_date] + ) on delete cascade, + constraint FK_sql_perf_mon_master_files_snapshot foreign key ([snapshot_time], [snapshot_type_id]) + references [dbo].[sql_perf_mon_snapshot_header] ( + [snapshot_time], [snapshot_type_id] + ) on delete cascade +) From 9acae5572905298e68114fad7f803c275e0407ee Mon Sep 17 00:00:00 2001 From: Marcin Gminski Date: Mon, 10 Sep 2018 19:55:59 +0100 Subject: [PATCH 2/3] database disk utilisation logger --- SQL Performance Dashboard.pbit | Bin 212790 -> 213438 bytes SQLWATCHDB/Properties/AssemblyInfo.cs | 23 ++++ SQLWATCHDB/SQLWATCH.refactorlog | 45 +++++++ SQLWATCHDB/SQLWATCH.sqlproj | 25 +++- SQLWATCHDB/SQLWATCH.sqlproj.user | 4 + SQLWATCHDB/Script.PostDeployment1.sql | 73 ++++++++++-- SQLWATCHDB/bin/Debug/SQLWATCH.dacpac | Bin 21412 -> 24506 bytes SQLWATCHDB/bin/Debug/SQLWATCHDB.dll | Bin 3584 -> 3584 bytes .../dbo/Procedures/sp_sql_perf_mon_logger.sql | 2 +- .../usp_logger_disk_utilisation.sql | 111 ++++++++++++++++++ .../logger_disk_utilisation_database.sql | 25 ++++ ... => sql_perf_mon_config_snapshot_type.sql} | 0 12 files changed, 299 insertions(+), 9 deletions(-) create mode 100644 SQLWATCHDB/Properties/AssemblyInfo.cs create mode 100644 SQLWATCHDB/SQLWATCH.refactorlog create mode 100644 SQLWATCHDB/dbo/Procedures/usp_logger_disk_utilisation.sql create mode 100644 SQLWATCHDB/dbo/Tables/logger_disk_utilisation_database.sql rename SQLWATCHDB/dbo/Tables/{sql_perf_mon_config_snapshot_header_type.sql => sql_perf_mon_config_snapshot_type.sql} (100%) diff --git a/SQL Performance Dashboard.pbit b/SQL Performance Dashboard.pbit index 1e205aaaa14bf0e943c8bf96475e597a839c3425..669be4a6021ac6512422e28286cf80854cdf61cb 100644 GIT binary patch delta 47184 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 Rr4UG9F+BDL-(LX6{{e7p#9{yd delta 46412 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
fTXaB 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQLWATCHDB/SQLWATCH.sqlproj b/SQLWATCHDB/SQLWATCH.sqlproj index 9116e19a..29f081bf 100644 --- a/SQLWATCHDB/SQLWATCH.sqlproj +++ b/SQLWATCHDB/SQLWATCH.sqlproj @@ -52,6 +52,7 @@ true prompt 4 + False 11.0 @@ -90,8 +91,10 @@ - + + + @@ -108,4 +111,24 @@ msdb + + + + + + + + + + + + + + + + $(IntermediateTargetAssembly.Split(',')[1].Split('=')[1]) + + + + \ No newline at end of file diff --git a/SQLWATCHDB/SQLWATCH.sqlproj.user b/SQLWATCHDB/SQLWATCH.sqlproj.user index d014f64c..530a7233 100644 --- a/SQLWATCHDB/SQLWATCH.sqlproj.user +++ b/SQLWATCHDB/SQLWATCH.sqlproj.user @@ -1,3 +1,7 @@  + + (Blank) + StartNone + \ No newline at end of file diff --git a/SQLWATCHDB/Script.PostDeployment1.sql b/SQLWATCHDB/Script.PostDeployment1.sql index e83b8bf2..371f5363 100644 --- a/SQLWATCHDB/Script.PostDeployment1.sql +++ b/SQLWATCHDB/Script.PostDeployment1.sql @@ -630,14 +630,23 @@ if (select count(*) from [dbo].[sql_perf_mon_config_report_time_interval]) = 0 end -------------------------------------------------------------------------------------- --- +-- add snapshot types -------------------------------------------------------------------------------------- -if (select count(*) from [dbo].[sql_perf_mon_config_snapshot_type]) = 0 - begin - insert into [dbo].[sql_perf_mon_config_snapshot_type] - values (1, 'Performance', 7), - (2, 'Growth', 365) - end +;merge [dbo].[sql_perf_mon_config_snapshot_type] as target +using ( + /* performance data logger */ + select [snapshot_type_id] = 1, [snapshot_type_desc] = 'Performance', [snapshot_retention_days] = 7 + union + /* size data logger */ + select [snapshot_type_id] = 2, [snapshot_type_desc] = 'Disk Utilisation', [snapshot_retention_days] = 365 +) as source +on (source.[snapshot_type_id] = target.[snapshot_type_id]) +when matched and source.[snapshot_type_desc] <> target.[snapshot_type_desc] then + update set [snapshot_type_desc] = source.[snapshot_type_desc] +when not matched then + insert ([snapshot_type_id],[snapshot_type_desc],[snapshot_retention_days]) + values (source.[snapshot_type_id],source.[snapshot_type_desc],source.[snapshot_retention_days]) +; -------------------------------------------------------------------------------------- -- @@ -802,3 +811,53 @@ if (select name from sysjobs where name = 'DBA-PERF-AUTO-CONFIG') is null @active_end_time=235959, @schedule_id = @schedule_id OUTPUT select @schedule_id end + +if (select name from sysjobs where name = 'SQLWATCH-LOGGER-DISK-UTILISATION') is null + begin + set @jobId = null + EXEC msdb.dbo.sp_add_job @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', + @enabled=1, + @notify_level_eventlog=0, + @notify_level_email=2, + @notify_level_page=2, + @delete_level=0, + @category_name=N'Data Collector', + @owner_login_name=N'sa', @job_id = @jobId OUTPUT + EXEC msdb.dbo.sp_add_jobserver @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', @server_name = N'SQL-1' + EXEC msdb.dbo.sp_add_jobstep @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', @step_name=N'exec dbo.usp_logger_disk_utilisation', + @step_id=1, + @cmdexec_success_code=0, + @on_success_action=1, + @on_fail_action=2, + @retry_attempts=0, + @retry_interval=0, + @os_run_priority=0, @subsystem=N'TSQL', + @command=N'exec [dbo].[usp_logger_disk_utilisation]', + @database_name=@database, + @flags=0 + EXEC msdb.dbo.sp_update_job @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', + @enabled=1, + @start_step_id=1, + @notify_level_eventlog=0, + @notify_level_email=2, + @notify_level_page=2, + @delete_level=0, + @description=N'', + @category_name=N'Data Collector', + @owner_login_name=N'sa', + @notify_email_operator_name=N'', + @notify_page_operator_name=N'' + set @schedule_id = null + EXEC msdb.dbo.sp_add_jobschedule @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', @name=N'SQLWATCH-LOGGER-DISK-UTILISATION', + @enabled=1, + @freq_type=4, + @freq_interval=1, + @freq_subday_type=8, + @freq_subday_interval=1, + @freq_relative_interval=0, + @freq_recurrence_factor=1, + @active_start_date=20180909, + @active_end_date=99991231, + @active_start_time=437, + @active_end_time=235959, @schedule_id = @schedule_id OUTPUT + end \ No newline at end of file diff --git a/SQLWATCHDB/bin/Debug/SQLWATCH.dacpac b/SQLWATCHDB/bin/Debug/SQLWATCH.dacpac index f9ef57e7804547e072f22b926f5b53df795ae6a3..b681c31683e8d6fa1a3b88acd1d8b6f9fdeca684 100644 GIT binary patch literal 24506 zcmagFQ;aT57p>d2ZQHhOcdyoJ+qP}nT5a35t+#F4+~0q9c206m)m0^RGm}bY%`u*# zBnt|L1_T5I1yq|!BOmpFzTe6N1mr>q3Iq*=2V`q+Vrs+SVQWKFgat%Z@V|@y?{)3# z=?vgneBI5f^ntX=%aT-)NHgI+9iAO+U}yECjO=M;ZPJO86;DiXwdN^(9KBLWwM1cq?46Z~^uH^*PfzitC(qx%xikZ5eeIvE62t`}F#K@4vL`^Zl7a zoby}fUF5sg?JMNJjy6_`{xZ^j!W_G{+#xhPIdLXg1e?ohNuQfQzVu)5a`}D7RCUKc zap}Rq_|xTp7ri1DxB0${@dL1AyZb9?tk%utn#;RXaO3QBrkQpk+>r0O6mWsl)s+|? zo)Nq`{WQ&6et|h-^u!&wx?%JC9((%iU%Q6Qn7HBvjNiFb)zn8^0n1m8o24gMR$HNU z;_q4bY-U`hWzUum3fubPSB!%cq~G>}06FdKB}K!%%;$C89{)LqSnyE?I%UMiU-BWs zKhw`v^u6!>5N-y)HxbGUL~~g*?WK8^AoIiSz-NVryZka;3mr32OPgvFM1z>CNBFkD zOuytk{4-a^uFcBB>;F>EiK8!qTC$j|%!e6C^i&oE9ncDjooko*{JFF8iJTUfR0Bgpsua12;GjQ+i| zr_}%NEMVnp|NU9?{QUKHbm^J#`T5=_KEzFXMxwYG0x!w8vhy7yJ& zs=>>{#mCR}w2@Hs+vIF}k%evz60lNi2k)@4_Oz8#11V)1tDcHGgQN9#HeMih#e4cJ2H>9HYUy8PAQM zzT&dClMjg*-UoaLH#KQ1rIGI+tkBQw?B?;+@&cGhUwtiZN?uZ={Qdd4ya)gJyatrv zJl(kW#oZd3?kWm=_uWd?DDL{j@>S#e{^ZC8?zZAxI6vm9w1scEUpZfdVk7!l9-DD@ zw2>Ndac%6pGKJm^5pV=>c+RhJne(+8&y=Il|ihTmk zzn;G%+#uE#er|AcDMbi8w^@JY4K5%N8Y9M|_|i;oRz&#?;#rl^wi+!EDF94Wbz?bC ziKc-HKrr(8ojb-%<}%l(WILz5NYm4 zr%wuY5--hk{#Lc{gQwITx=UT$XIwX^5xg!oe;*UNe>0X@u>5HAJ_jAIRj;!KVdF2x zkEM1pY~)M@iaSAh3`JtGRn{1VHo$%Fv^j!CsHV}ToNnf9Yv%0mZZo){nPSF$A(X&s zs?5C#uHOG0nFtgY*|-_Mm;$5FQiaw1HJ?w%0%ro`eNy=wC~%W99nAeXo$X&K3{eDK zdWZwwZXBLkYBEmP{)MJw#9~TZe7R6&Il@X6rL@O`CIN*cZBJXfe(>hGV2Nd|A-fh>F2;TbD0@1AEUw~9rC3vujd$F)nU8Y_( zu>HD90jbDrkm0>kvEe}9*=&DUhZlDOa+$@zo=3~Vo`cWA_A33w4g;isiWof>NgXE+ z$zM%Gx`k#GV)KD|kEVtC_CCi=3TtZ~y9PRNmIE|;EIfNmxVXjHF3#BNQG_pgdNj%~ zHXnL$F%ToG^q;lXI5WAZx;%-)5-88Mg#+VvLuLo!d`?9vHe7LH;F{8tmTz8Pxnh!F z=^#-X6b$(dyk_lHwxee>k8)nOwQjpHEKX1fnIOs&V~UPPJOp0x@SzIp7q-`X%c1>l zMb{?l3vCxsiivVH^|4lA!tzAr5dFb=o*}l#sJu;T=0lj@#Isxz$m1vFq_${+uJe-_ zREN;mX zd!5;5c2_{ygdG5Mt{DWKx9H8h&Pd^k)Ji#?;H;tMcHHc98EuO!u^)ww)0x{qbhH~G zQ{4BkR;CPYF_DZh)``DLAv^QiAS~-svxl_;jJi9Kr2_0e^vFsoL8&C$Igx0pnNA=7 zoO!yNIn*z^iP}`#$pl4qvgDxTu2cuuak0nt^osajcDqBSibE`5>7|lRK zX;AT9s|_ZP!wClIqg6qB0JaqQ@Lp}E*&$au`0Gp6bI z9m1BXn1oAk{yP80g~`QM)gsVdq|s}9DsPor3#gpHR+GiWqYj*#*4oNllJk~nSL!H= z>DLkHy%2Q2a;kDhi82=fyj&`5+m+K{$EGuNRB2Ry#X%}a<8zGSb$z`|BDdAF)cDo? zTD{*iP+T)N#vJJLG1-hhyR89$_3jXto#r^R6MxID$Fu#?Br|aaq zTp*|Kd(VG@ZJ!KtJ!tNQ)^r5N{l|=d#BE?Ggu}!EgD>1xJp63^luVvWN*_aj(im=r z##e933t^cOZ@q~)m_3;EYbq;dH4=d&%Vk)>EqHDmIhzmO)Hd8^AJtI}pOh_Z{{x*aZ_z_T$Aq@s1dwtQ-gjl+!Z-^m0tH*bIvl(edpFD}KmcFs$qubGVBc`}`9f zl`0EakE3|lIfB(;!WmQ|aK;0`cNLsZe5r)kY%Yi-@&?IB@Wa#kET#ML+V4^!oFRHc zy}+LBA`c5je$Iy?$O>(B2%f=_B1~+(>)3%Qgig zV-yr3>KNPbtQp(AP*8&pQ!t1DDn74PEpf@^uEv&h3Z7?xBOs{-f+ZDff%?SN;f5Ei z1i;qaMT$-Q#I-`r-ie;}izccmmwm&<8Gah?flk?cLcobXvSz5K+FUdjyklWF*dB6r zr7}EwXRQa@zv-u#hb%STO9Q&Y&J(Wk@SE`?<4$ z4MJM_cmolAhhh&7j@1Ckf!qeu90(*yH!5k|v?!$Z@~J+u#Ud{-76?KjdSKm{DUT>t z(wo6_E0&I+bRK0c3Bsh2QC6mR zFOv;GRN=$?WMZQDw5lQg6alQ#57GC1^2z`o+h{T-%9qzF>dK1-4` z2a0dsg95L`l#)@5((T728^ye%*Tzd<)zJ~w)0Y?$8Z7eUP6K5WLK*TwU>R=UUm_Tv z*qh6ibh?G3164H^PQsvPakw7yzDE8yxwsh8`#U|T0=T2RzT)0ls^Gk_{1;b+<<2*o7UGJ8uNjF=w1L8h5J?z=%P&lME zvUxmap>yJWIjcs4UFOPq+bF(5P8pec*6zt-XDDhQaYomz;1{Bi@d4e|g2B-}uDiJ2 ze|(^tmfzrp&a7Bp_!3z*+@&zTkVrEY6)|gR=r?ce#&?NYWEQ@hA(yW82c#X9fFuKl zWPd3~X|tx8nW`;E`oIx0u;MBhq7AJ%56dq^e*>ZGaX(RHRn1|=xp3mzPDa}mEFX8a6 z+SOr!q|BT$yr$URoL zDIsebxkr)COOjsm#|i>_oyVp1d_X(BZsuQ&-KFuaYfRux%WZkI1gX)kWvyRv$8qin zKqeuMY^lY2Q@=d~5_)N=`az+16EADC*;&=zR}4WqKUWXZ);2Lo#Qnd<_^#WvB*$Qi zS{K;B^P~)5qnm7VOF-3-06CA`Z_lhy@(Xn|?p+v5x9WiYWawed1)h?DF8J?vCr6>^ z!b$Zgm+h{lgC+MZVA1QP9{GeJtPslo)VN@w2G!PVV>|a8Uyl5-B-*wA9b2)BL@1jEaxwBC!_z~)RapmKmc5TJf;hTI_POFh;rQ$eZb?D8zwAm!!l zp5lGlY#wQD=!rFUh-bs)mA?-WP|6M18~BAJ7+KSo^+Uy@pt*8=`Q(g`8Os`{$ZX|e ztL|O0=shANvx!>}RpfYsnCL_xda$Ne!I(5Yfa4Rhl8YH)RX}U$&`J+d$g$~fKiY8v zi&Z6O-ULiYn-hkqbH6LSw6CuuaI0b;_U}s<&REU+e?h(|af(e0|Sh#&TR`eqq^Y0+SKt0jWHr~R_E_}mX`f_r62u(4) zKdqUo8G?11RmBsH@=d>pvtITfOqD&xp&Pmr{?@hI?b62sJmIyuLZ&W@OK47L?#T1g z{d4MY4$ZCwibj#^akBKFvG~DQio;xUeW*70_9g25TxpIG~ESjRjL&r>H4 zii6?iqD(*dOwEtPM20a`v);@FuJnre^7OgKrS|84_i=jbs&>4b+tseOh$cHEg@c$~ zTim!`(+A}Dem}@wR{Q$B;nLj-47D**>c=xG%*yzMLh8qp@gF_j-_no29_lq86Z+9j zq)?hm*04UD3m&0-W_oJZ`HRPCpN2p1+s_5lrT=;i-%^%gj#27MzgN3@JRCp0Ia?QI zDXYS9-ry!U!S{pp3dSYql!i|%`~%7*ahP%ZD>`ruqn=yn9c6}m#J$$nSe0AAM$wQ-wzGp^8^Q|I1n==);j6RrpE zq5%7P75DaHW}D{}QVxAQ!M5B*hr>-r3Sdj;k899PZ-8egyZ51$4u;a_h57Rd=p^7< zy#bC@;xg`jF$2A@>8`oGS`JTdmnZy4GuvD)hn(^MzL@Ev*!Us(P%kCRkpX$^=Rc%t zVuRq3m&~bU+{K}QgPrrLM&>o)f0%V&tel|HyY97QbIY#Nf7pJ=9nIc$@4DT&3TYYC zH+vC6bv)El3u>M1Kg8z;LVNYOtm)QZQ{WuWH_tcD(IJdmdB=UU0r!)`iA{;g+y>>2 zbSiM8M_PGl*@oB7Z^S)I-!QFXhygRIyK!%KQ{io2^cndCbx)2v$9IMr%XmdIC`(zG zoq(0(aPMxv*(JY&*zIajeuznRchaa7o`|Z+PVgsyJm*7t96YPR4^Cy&_lB9eo{NsM zAGdc>Im;-r!<(t(SX97&o24tQD37f(@xb6w`5Mlp=h*5%l_!~&i~E}HmJJ7RK5BRR zL?_H|rv%|I>Igit~pV?G2u<~*avO)X1n6qD*lmzYmv8&)u~kd;tr z!7!E3l%ev03XwX}u7QkgJZJKU=O%5sGgSt-ddFM%huGkmc%Hi>SzCeMn-GO*D+vzc zmm5@(3oMxLsp`3KWi5N6!ob?PDqvlL87lJ|PvjX^CK<++tKsvUEI7M`EQ7VI$0Cd@ zoyB~Ztn9xUlle)^hD`jO)?J^*KX7?-KZ8GM?Io##OqajCeV2+-!2z_#pCBMB^O zOVZ#45@~bdPti1INXpM7K@(yPu-A~wl3>K_Mo?>*MSqLUd5vcJ(P1bOAy!5baO{Yl zRR%7VAwOzliQ|2(zb_?1y}Ruv@LG)>tkEt9=t4)$nNtsBdgF5Ou2cCXXlCkb2cokvt2RIpebgef6>QD#ma68xMq zU>U_@)ERa5W9VN^-bThP_;~IK-Y+@g(pWY5@b0|MBZjMyVWM_&oGr9pR5}P+c|>~W z|ApMg!|=>J`=G78*Bj;it~@z42-f3HEFNsTKA7{#!tLg6Xsk?3dbl5go$=={NwCN_ zPet)1q^E!u$m4ux$|A;02qN~he~gw=&imC)Nld7~4(JXWQORd4?{FnYpsScRnT~qX z-E$j1iN--Ol&oy1pEV|CK{HZq$O;+D2{COfhrssek8nTeY>3g~rEyWo#Y?5)|CF@u|EGSpQn5+E=VOW?F<&_N z@R66xo9!=2l}x_@Xfi1oTHEl~kR{RA)@eOn6+=D%Q=Fz#jRRU+Wvm(w+$y_g3dg0;-;%53fw-(SA)-kRJSz+aK zHBI-5N9A+R6e3%XZg)XZ8~+fg?tMs4{=5B0lgYQw;Eq|7V0+F^7CASapNl^#S`8iS zNBBBgx{~x)IGZdEu}O?X-}@A{AY#sieACwhIR2`dp=twEiK^4qB`W-!-KRen@7?%k z*=6%f3ht+5JDR-5U0y1CHfE0BD%=%3^bXID`inyYE@n77&|?Aq$s&r(8^l0VL#9M4samYT^8Kdm~$Vvog6bT5e6PT*{mykb|qH&wtRqR_lw*rvbpOvY+m-#qB5!JC4cn2x|xDKHc z?bjx{PvV|i%+-$jdFc1M<)SYt;?td0Jb9oc!9|F8qz`n`7Zj}#xab=m!L`f8(=FNX zbfC&AUs(jW8p+-Ovws_<3SaL?&Gc%c25+jE-?AO3T8$8;g`fy|70U}QN^z!U@NJ2n zE|`k{ojMjP_KD`MESe4TWT=mHu-SCHr=Vl{H#S+%Gf_1d>Q6*xiLXTVhwhZN_ObqyzR+ z(Dc}gs77ggx6S1gl0(uls#;{5B>!!PTt+qGSFL=5{w zW>?c6x_9g8-$WHXMUM4+c^=|5fd)dBKO(@Vrg{1vZmWKU2(aJfP~MJWM}Q}rVNtvw zQoV2aMdn`jVWw#;<9}kfl-OH8!-%0>C-*_dQ4R`}aH!Q5fGAa>TN_XtJ;^((SpgH) zRji$KZTgtTH&5Yf=d=n8X8!<%z{NjW>rf2AZ!Ma7w5KDXD| z*D`#w(^t-w)9e4;;gYjcq3yPD8nmx>qgILI!!kJ_y>oFY@m2f=4jDrrV< z#P~e8SR~ZFrc%deZVxhN0qmc*Rmu9Dck=DOE*AF)-0cWX4E)k#I&x9eF?8sGxH_SO zmcO>(zw07Ra;w6uZ-U!a&Qw_FY^mprwC90`{iiA1#i&Rrn4I0NT}B@x9^n?$Q86+i z8B)M1`VO%U51*S*F$uvyh>xy0LZQHHjTk5CA_HA!;(ZhJKydImy*cxQkap`==mt2G z;Gc^pVhJCN)1KAmFX7^n8v3IHridmgSlv75u=~_w5883SomM2B*x`?@z@`kPCxWMp z%4@^wYeyaa#)9zD(M8@_fgP;K#r$y=B1nt0s2knWlRxOm0)ML%^U+KS@nettwnF<- zC*1AW#}yT0^PR5=98k0hiiH3E8NOGQ%M&0M=TvyuVi?gU{V_;!u&`d^qA);M#RovG z*gSM9N59r2{I`M!LcKw#y6t&{o4x&&s>jDI3|-y38G=p7@Enu@}29A-Zvmmh+VM6 zg}oKQmY`p!*Ul{NQ5l1HYp7D?lBe}03#`wt(Ofvu45z8lYB<~KmN_=VqiIAjopX4a zaWa`}ygEn!d*;#S0rv8Mu;7TJ+J)w~8(ry}H^w%K7hmdS@OOZ>s7%G}XaBLOhSoLz z)h2#fF4TY4Xp8@;lzAlvP>@CV)v1JnQrHAbP61b)OHm2C-Oil-Vk)j9*J7*KG3gm6 zKixHNE&-p{+bMr8YoSh0}L@(-}#T&{D;Jk;=%CyTuXq9 zkx={*qp`wZ=y-1sB`TAg)LgEDbChnnjl4`-ecxNqe0Wv*lEJB!IxjoNZL>G&Cds*$ zl>ndVb~AZj;?d5Buhw$5cT}G0{{6M#~^l0=nexhd~bu_ujAOp4~E=nR3E%n`K z2f*h6;$IfY_x|ahLl^jB)(Q@v4v4F~H8u8UX{)g8vBQ@gm(^odYbm$+VLbH(IrnGJ z6+%~6eUEI?*QjZGL5k79P$i}iLcgzmBaepl%~Q)TDK-3I_L>0#|02tVghFy54>mAM z&v9tbg0z5AleZO=1T@$mZ2~W&LUUOm4Vn{MXbTz1EqV1&9N&d6n`%#4C3||5npRDm zBw?rMlZcph9X#xcjQ)|tB=jh*72u4AXaB`c-=ut0BpzdoUBfqqT3w8#=%Wfw)lQBAc@y0ZPKW1H=?Ym}3p9_uGQA&1MU zIa^Yr9cn7DAPmlxI<2w?;kO|SFGX)gUCoJ`EEPHTv0Fp-+J4(mj!aSGnYstL9D8BM zCAT}Xz!qd`_U*R5rz-%7;qE*+-?#l9;>~W!&NtmO{C%{L$MW{v4MN- zZ__Qf4<_g7)%W4U-Pzv39ttDJ=x3x&IOI6enBVUeWbg%sUdii%>y7vxoF0IjfupN$ z;4^~Met278KwjVrw(lz84^^GoOO61w|CL3a-_mG=gC{+I-!zqLy2HVpPo9cyni!#6 zn0u9s+7xcmy1bJ@^+D57~fNH*4dD2mDsK2BlVvSn1nO%0to& zDmX>{1IkE?`d8x!lKbb;;aF3$AfjTgZ%_ZLi1JHf+ajj;%wBu9l3Kt8Qru8#M>nZ6 z-AvM3#n$@$@XK`jtfyW8OQo+PcXQ(m9wEDUOQ-5D%HSZf$!T!hB^=*;Tu^uDGZYen z;atD>60-?pD2|PY4M8L>r^Ay)M@ku zwU z_w918WudM4_8!-RH_Okvt^;BqSTjHze`%1nFf*9523H8OBXMnI3fKAl1I|AAd+MA? zFXVdbH>aH5JB(OhQn(~TjzJC8jI z0D8}v`v`sGiwR+If~QcwNqcodL~ExLUe z0a6c^MQBREdM-0oy~oVloF?Jp=hTrU{p2K%DxCODsW##loyDj=ogd73_Kf&>HgkXG zTI*pg!saqZ|70bIIQ*xh2M(fE=YZGdt>lghmp-06z>W9gVN8oAfTf>+PV!70gRPB(_N@kz4a?sr9)gi9fL15AagTN)-ieTgq z3KomN-c8aQU#{^SwV)2TB&NDGuuvY*PCUw^@-9 zK;WV9p+OmxNJs=N=p-E2$OCEvBf(j;9C!#GJ4(2(oCe%9!y$u15{Ja6N50^p;`T8N zXmB(NcIe;fZX{!GHQ#pTtTr}@Jq!Jz1_wP0d815Vgp#vSS8=0MdMn?`EnV!Gaz}5{ zHCmkZgUfkmh5}2JL+Pv4I_a;|5t%PmzbA?J@}ng}`f2c@EdV}!Au>cN{U*a+Em2+i zg%!R$=xM5@M3zt588B^_JdYWzM-CvuG~>dI8CT^Hs&;K&$Q zg|!;|ek-zyN_yMYm7 z)Z2baJL7aRy5}43oTJTuL-w57l#<=)v7%0MbWIIuzwRfF+^ za~^MjMgaHmw^ZSH7LRENm;;McIll7VzxTbz+fmla?30{$(39#OO@Bil?+fVEX)PyHuOh9NXC4+2z!dR;9p%oE+QDj9rXpMd7?Oe3Z94!?vx=ut3$vYCXn` zz`!F6FWwnqWIccmXiZ(RQ4#ohc5irV%Y^Ddh%}vQJe_7%^?$dOW;C(UIfa{9tZh2A zjIl^k42{v@ac6R|K4CRQva(H}Jyn-m9c^%*_AN!n*a$W~hbZ+YWx1v__lrpKlOURz$JRTwnKZh6ckkQD@1P0{~XKmT=M&3wW9p1!LW{FYL{f7?Bm zhF3!XD+SsbU0#!yk#m9sJ!~5Ne#TR4*^hm5*x|5Qes$GluDh7l$TT9cy5wh6_M41= zZ${lf$pFcqAO@J&>PPV%`I&7>`*lQEo5dq|MT-=nP4bq;KG}0$BF{6l3{Ut6d^@{l zzMjmY-BI&nI*2@QK;Z~ytmD9d)U5(V2*_9F&@mqd4hGJ5t;4M)Z!l;O#Q%ID9Q%Xn zx2x?9eOPpEvsq!pn1S6pjMJ&gFW0+Id$z^0ZV8!5W_b>oe;(Nl;LOf@UEWOQphP>= z5g2$YnB}&nC4xnFV^A)S28-Vf29t}`bUinj)=j`K7h4dV`nKzF@9*&;4{VSO%w#}> zbg;HhLu5mO#J72go7*bj5GZY>p`>{xW)Gt7v2McGuEvT6#(@L!T6?Y>8W=k&bNF^X*4wEK9dY`z`yV9Wa`C1cwzB$jgDk!TIJWn3| zlcrv}2FEx+X+U0vFT_F#SOIrwie_9|9^6s0T!<1J1pTU{A1O!}oR6B%WKS5JpIQzq zLn#me=D%Jbz2CoUt_G|GgIGZiiw@ROKKu6pDot4!j49343U14UXdvJj090dr(F&iu z-3pm!nHiIwiz$9L!Avmcx^@-5fTBz0v;H}DyuUCoGH~2Pi1i$C?cj~&c=bBx=kXFO z>?-R_{f-s=LBjGMHj`|YVD|s8TGQAM0Ett)Gi|9-T9Gc-c`xaQC?2*iY*pP$*Z!ah+!zD2woUw4zt+LbY#cg>7iY77%TEIJh`p7G$?YKrO972E%_FY~N7*N#n+ zXf`U0{!&0xq{z0Yu&c|2eu=q3A@zz&v6n@Dmeh5`9E6!~*oW;#ZJUu7&(m0v90Q!c zgP)O)dfi2(C4=ANXYxbfa)QK2dM!Zo^i&c3QxkwQWmt>{SgyGQmV@AMd2gQner(yW z?S$=Z%78@kvwW$H{7I0nZ`r=o4OJc0$zVab?byfcnXH3)N*LLl1Oi`V=HD5?enKl5 za^}-Sz1sxRv{i!Ujc?Z@J7AE_3sXfxNs%L^X6o`pT_o7p2z25>Q#k}91T{(W*9G0{ zr%jI&z$ZZQ@Z041{P*>KwD!0ZJfv~#8@bljqV6y3wMmZ-ZdtOiZiy1$sQ5S@?PVwa zCZbT#T?^)3d0@z({~}#W(jCvy7AKg0CsQ=IWLC zRm>4%XT{8ubWYrq%pyc(q=FJbs9b7mn=125ms!}Kq#$LR}!E;T; zYT%Oo#X&E%{9j`;-b|4iko=DvQFbeG8;}HiRZJ;iIyK+6B0g3L`5(~`;F9Go?mM!x z?4Ace#~Zmtt+VsAjH62F_&0>+QY{PBZbt3IDB$W(EB=gwiFnSTo+Nn7*fsM;Wihd4 zhQr1L+Jb~P2$|5CmUkJ};wC3rYxb}pz0CtNu@6|Ktq1FccM3id%|(lUSWkzE?S^v!YFR)tQ3CjAsOG@v_ppjpFH@h|KSSCJNe!j?&0 z`tLu(tP|dkb*j^7FM`2D#rT!5;>RIT4lmP8NIVl{`SAICUV<}z2ASs|s1OW&lKSwL z;;2M0=ssEvT*}DtQ=-5qNAye31Slug;7szVpiTDv=?kTOfhCSR8~^jy`5z$-<`fT56hDYo@KlBSVwDqZ2PCr4<~q0*I3&5WZf41I1)EI@lj6G>A~j zZE=7b7BqYfGa2tm97rs1On@@)^r(EYalrOC??&6 z{1>pIj8jfMdJRC#!_l#5+N?w-+k>EUrY-kFqWuKPV@DUel8 zTQa_&Kckb2qxEj1oF$zvD82Xq8bPa}md?qH(L3vR7wLESp1oTtR`KD_GzoX|1u?h{ z|Myl1u^PqHY{_i}3K6FW4?D|X8FySfiR9udb61XZHzg(zIq^n1u1vH<63Ak5iZeI` zc&Rid1B@t)XfoXenje}Uh5j848a0}{8Qgz!E+g0siHD=nlDL(=Zv`Dz@m~TAKB<#P zk8>xI0|X7ISLbl4Eqc?A;j@lf@i+!sGpGfzFjY($iLr}gNYV{}7LW#wjgj zC<&ir4k-=8gw#Pv0Rfft!)ie?9wv9u1~jVO29u~zQVR`cYOZa`eJ|ha^8n#Qf#aEI_9UA+jc#qyl_Ym zU>_`GbKpmz@5=n~_zIK6?07>1l~)7`CM(=OVq}7;;R6#Q5tgWM&y4=>Y8{(vH?>py zj*cYYQS4F+z1O-c-{l5Wr>uf?IZrLtG9=;g60k{AU znF)S~P9?^S$?Fm7qqR_@B}Q;&eSf0!VV{7#>#RGcttml`J-N(ih6v2+n`55VYFW>c zXN?8$B%F*D?sF8ok?~5j3CCGk%x?;d8!>Pdz3Ok`O-3zncOnubi^bPQ)8ovsA!BZmHkWi^zM-4WV?^ClZPg99_HyPx1GL^ zEel^8G~zSoNW6KOqU&>u#v(`B+FSBLWPOtf!|9wOX z^*o7HsN8C*b!Z)J~6P}6MRz|2^OVj z-~t=_#HM(Z)4?KaoJK5DBF{U5;35exGNVw0on{g>DcVxJb}#@F@5-}&nZ)?Lx@=j$ zlo^>b*_V53Q zckD)D8fp=fkF8DYfkS4AWFWAyLjlpk7i)nJVLVvOob`?JuC@7j^jyVxn^iQL&}Im~ zA^|>i$vfWzDDAn%rFn?5?zQaogEZ|`;OOA%oHksGnX5Yr0&y$(Ar~d;c(vG0mayOETB|h!$g9gQj5bI#!73D^X75b5r(!tMV?p zH+#L#PUjVH9-7PtqRp%TDsCE2g&r|PYmks@GWYN_yp{R^!$)(1)`K8z57WBZ{RS3+ z*N-_smS8Oz_q?X=vgkl9ElN6uGYyF7*+$>SPYD1sSFEkDWVfJbY|TE~vS`IZQ0YkO zNneuo8xxCQm}m9v(V8;z1>SkM-y~!HLBsPgLEh&_!J=f+@)^7>ll;Tx zm}Dy*Hp248XKNNK9XNN?pHh9}pb*^}TvCGgpY-(>3gz)syO$zGn5`nTm-7Cl4_|t1 z#WbKkbY9v>kqyRd>LrW|zQI;L6Qsq&NdtwsGH|~#T~rJb}!oAuGCHgEi1>c&IZBWZZV%~pQHh4I&u=8MBPal9B zvJhg&##fo$g$($}>^02TAxg&-IO;z*HgTos_jr2Krn_dHQ$f^AEP+8hrZS^{bj(-y z_hXu{MAD4i>*|rVLwtKDZUyk-+a4>;TbUt5wYWP{9n#u7?1*^RS|+mFWp+0_AH7yI z&ZXUtuBD{K z(kWL3nGXaBe|JPcf+(%)bH;@wu32o3jG7yy?1v+?tj0zQx7e;PTgw`BPR5)WAoW#E zY8b*pHLvNdfD?hW^7B@XEET;i7;*KN*lH;3vE_^lco}fLStqoW5ysF@$oFjHAo_}Q zL!AI8Lk4Cxq!ri`m-n3pE`1+Gjj;y4_jfRPv(!ivPXBH+hr z%j$hjem?tdV)M2Rr|_7g2*sj?pqHGU56rOw44>^PLd!gg4^_U;U#0&m_)7ex#3c>_ z1oQ+C1O)eA@YTuG%+T1y-s%50`FZ1%(YF~Pdq>w}NKyQ2OC&7`oI1KNA;+oeQRbbILaWau3#C9sK{Mzv{*Ls> z1yhMD7-#M)NJtUc##-J&xcu*0dl%!ozt#1?o)+=%IQ@UwGtBwaPMX^_mOnQZLFW>F zQhU|bqA=eN;XkkF%kxiF;&^{AtdL)7b1ds1|ETlkillcf?jA+=R?GCgWbkfV7xRbE z3JN;w?}+MUUvkOlA+l-B5`zBS(!ez3uiGoB!Ek+SywAJ|y6&^sUVL@-M75>y*myw` z5LA7X6`pQ{{6+Fg;p>0=L)Vc4O@cm|V;Uhlk-z~*dR09rfg{&s1Di&*?VN@YTU)sr z2B&*-x=G*xW97#F%B~fH${~ilBi}Q9Eaqsps>N!4wwdp^vlyQrbIKHR2D^(2zA=9qFIy*K7b-) z&Zw6|L-~zDPtn2N z*~P@v!N%T`!P)WuJBZDH?F8UT>N}+A1FgMzu_^oFKiqiNR17V$$hMYNlcG`JNHx69sg0DR=){ec@CPA!>ihi`q^xsy4--Zs zbUpXM>7FhpM775AddygN;mGe~_8swebC2ttn7ct}$nTEe^H7x;4J7Q!BSgNmjTd8n zio+8p^K&wOxRNhB%0qD%DEkRfkiruJC4Ysr=OIQu{J_E{FODDqZ`mbZfK~d6D##Pe zW1t9_?RxMD;~N`L)Cks366V?bgJ~k8w*HgD}=~adt3!J?kA>d%1@}$3hs($-UD0^vHDX*7IyL6Tu|J%?v%=h*bOZo6T zaWi`p_bT*4%Jc6KtJHaa?6VGWToh}1d~Cw^?);53Vm5Q>ZXgr97ZmkpkDq5wG4N14 zjyJA{aoLgZybRPyTEX32Z+l5{F8sF-q^7_S4g_q0qbOt?T2PQkd>-HAQ3pEk_miVp zQLitny}|odf(^tuB7dB##DENe?;lZpPgDMnkC%%V#P2mSXNm63V}jp(khqwed+$8c z14w<{9x(cgLcao}&Id&psy+ z-AQ~QZ{Y&4aF0}k#2k@NMjX}&6Lw^B;R`ebbBEwhhHrD1Y9&8)q+(9(=_ebRKVtuQ zQTmw&dF2GZ3(i|iGh$l6HqhvO6yyt9fD*=g8i>0VaxqSBw;78wCF;SFdE*5tqG29Jmyj@vy31<Z*!=3%i>wf|GdRR+bmY+GChf;$}CJ-EZ*4DJ@( z-GaOO;O-0>Gz2GDAXp$s1`8S-g6m)}_s^?yPQ6#Rzv|u9RlUBdUA24vS*zFkz0&E@ zw^tS)rgTb5sFQFsSlUd!7KGie_r~w7@1*{o>@-cwjUEXl?()19)Mh(3vi>XPk*D)j zG%nhh?Lxb@*zCz2PLBjXl&6S_mZC=IMCPC&26Uj0=xIkC`7W)nygY>VZXM&VQGyYg z9RZ$rJMNp3q9d9apxa&y*UsBui(#&$S1`dS`WsIG0!Gc^pcXVFj70zC2wZ|i9ybTLWslhkiUB%_VuX^?kgWyT}eU`Kf7vP^0kHNIpd8=d!(;Oo`Fen!Tl z!#N4%OnH2$*wv^74)U9e3!&U15EaqZ)Q$SI`V6OQxTMnk<YvF-g9&u$6 z5!kjGF`tMGP|P#cyj0=zED=lvp@JbjJ+LKlv+3({q-617WAcur`nyoc$w(28b;+ty zKUT*EPWS=dg6WLg>xc`xa=A?r(>v%6@#R z#0+Q@*b22p)J1lB2oIU>Gj>@Dd1?t9Z$3Wekswz>9}jk-II2ZlWHG*$3v5qIRVRcB{z$;~>@HzyIjjvryM7j!FCY@t`!= zx1YlyzJDXT?aP*%lF{Bp2R(<^gK>KH!_#j?m7A<236g9@QBAScaSU6v-LHpB%1ynZ=Kfm^soe1nm}tS{>dW-LZy| z%KA)_E0}1?f<4NZ{={_ay1~O6*c-!a>ZIXz<9t?ELo^lfYp?8 zfI1k(IkF|LA=5v7NYW8%w#kz#qq)&DPUUTDc8a0Sy>|zz?D0gv>)UKW#-J(cDn5Hi z-JwB4H!%O686h|5yuo=8AuxCnXhE{c6C;`_)B;>g{ps<(x?OQdc$iC{zByVPL=kaB+b=&}_p6s%g!N#`*K(Y}M=2~RwJ8jt9b?I&92 z_q!9;j9dnou*k<60aH93L-ijff8H*_?9H~kEH2|UL#Y8>R zGV9A*@{C7SomR4sAckX$#(HZ+u@!(FB>l%ZLe>X)JbP_^ty)?P4Qb)VT6N&LZ`bwP zABqE;3da?e0}>pAQ5ReBTDcFqxT?}0xa0^+=+nK4*p+9n(KY`(*JDbM>Pa8dA;x9o z_-U;}N_uI635-Bz$uS2Dwu>X3P)F^c+HFn#^1vJ7u4RXnTZ$esXSaiT*v5I><3ls> z%#Uscczd*pwQ^B{b~OZclS#vpcwA|2x{L+|?cz&%E3L)>ds2=qpHf;FtPX1SeL8`i zSOzBLE`!x3yU>Ark1ohI$DyJ(*PHpIK0Q7#el5>D+kk54Pv^#up?GW5Z#Wm+GZF|s z+XQGo^VYZCj8;0lwtHz{@?cjjFcF2$*U_~8j!ETPC&)9r zvhAz~ePUrOSdI}IrQlnAG@WM59dSQ`1rdSe1jq%=)ookLd)p>uwAWeL4#u#w!yKA@ z)u~-Mo;rJ(1sn+2OJnGUsW(|dsxf89p*%ailiJ1%W1lzRUuSewke;8vUD%LVJ>M&ZI9QY*{v zY}pl3O=TxKjNm(`BU^z>u4iYz#4DwZy-a}$aAi0cA> zln8cWB|qGAQi}lQe^mww?w+q<^H5P$6|3jK`DnUbyh{YtEfbV*)M0?rFB<-eXNK}+ z8R$DxhBGG$36XV|iLx1+zZ?F7s!X9>lFUxenwgY&IT~+;QUabN(p=sh;3TAvf{l9U>30#Om4TTyy@AXvh|ZX7$1iu@|F_ z&Qpe>j(8^ZmCfBQd)8)2!`8ahc9(*PBt3qOPW-Ba=f5MIFW;!k^wXBEmG>(CciSX_ve@vbQh^&6!7x} z)`5(vI4YN5(HzV5@U*uQLR+Cmr&#}5u9Q*YG;fbg9vSUMyWS?WJpWV%ZJe>zMZBBx zvl52C=Cyz1psR^Cv`k-@Tgl$pL>F4og>096JmF|$?5r@iKmj-BWSV>Gzc!aZ1uS zVz0@?3LKp{ch3+wvi~J<3E4GtLG)HfTiZE#Nx8Z@-VS?SjY;NsdCfxbWb21X>ZTzc zd=TiY^Reyq*4_iQ)tIud8=tnYrlHGWOg*QGSG-mT8q!z6%d z4Z}KgobF?|e%4)w&2Czkt4rv>J6^-7J8bkIorTp|9EoB^D675CLUAM3Npab_9^7_c zR)R~eXY=&Ik#c?5;4pdX`$v@PGGmna9}UK9?jO?l7f_IyU-lwGEV&g&VB8v%QGb!i z&lvtyfkvTNFCV%z@4QAbHqf+?V&yno+{ijD(!bm6TjlD+ySYLE$Z}E@4Db_fod0wz z<9K!~vyOc%gB{>Q(@@Y2mizV%xL4^APrZDR$)KB;DGRn_iKiaX!jn#b&_@ucC?Oew zwQQGpaWia^K)PP+4NU+yfVLNmu7|smOwmmt{~^2Gs z$~X5V3@YV&9+Xv4Qzy`-5*Cmz;4LyGXnG^>JgqX=O*yFtDp2(m#sO(yHGkGk%)c3I z{Um{{i=w;ScoR#ww#L%^+k})6RKU=a)bHg-zp8=0Q6aqFxNPq;Iv$Y_F+ z!x~fi+!u3U6<3841&-DdGCo6$yTvZAB^h0ivSOE**nqPn_P96LONA~kN-V{fo7a|&_m1Tz; z#$??t{dRiB4rnZPUFN;_6+tqDpl+gAJBj~l1d!x65||@Wf1CxP^%Q^4lCG0d)9B&o zI7?p$E?uszMiH**$mc*73^3}Ti#`Aj_;$NNxJ`|1ur)J)KCo^F1T#I4m_%@|K~&jK z(!B=l8vEpX^t*33AFQ(5*nx}uAXXh{AC>pGWf{ZQu^kCK=Ik<~_Ov&i~rs@tJSo7nKjFOjN_RFYfZxlZJVQISmzV6 zXHI@-s_r)G%SVML!}2K{7mf#!R(FhA%Es7i4g)F&dYNrPaanI7+y=(dOT605`L>O}s zZ>cT}Zagd6$OOZo)~Kl(z-OgH6l|DtHd(0BT^xoz zek3lPSvFvuP|yvY*mqUpDsU(;d!8Q!Qs{XP5k9Y5k)it~ZxJ>C=|micHhE{o>VjJ8 zmnX{%DpDZ%u;xnkobA>x<{4@Vh$i(dJMv=})JKQG&u%qdApJTX5VJBh=1FdMfRip} z3C9#^1uwGV6jakKbI_+nVk`nHP^{j9tp&n5wONV~gQ0+prVCBBSe`>-j;=i~WXT12 zvn2U5p+i}~of7y13~WKXB#bX)!HlDQ4{_%51SOG`v}g3wsHUW()Z9CIK*LJp(W#dFB+L9JyI z8}X>u@}npbFqbf>`V2SDdytMb3aG3S$^F@S6Nu{AswLFC7~U{k+Ncm<_~}wjU(cAv zW;==x)daBsp1=-rZ^&+2F^j^UKi+WZk}7;2ZgC6A#20#Eh#c-39MYTED>BNCu%fZ| z4FHYq7M{BR@+hmgb#1eUTKb5<>9tM}Wy{Z2@uA2{Isop1R=sxYs6gYuZ3?Om73%lB zR*#IpZwtx1yN0I?WAuGUmKZb_3TN{!Gyw1>RW5GDxV>rZ%g%Wt2&-nMt-VI}#m%fToVNblRbZ3U)gkhZ|W2!ZRD{vS(NLGZ$Mo^Gix|PYke{ zdq1n4AsRcdAa=JFI*pucYB3P~z!6GL=l>4CdyQkeF|BCIoH517;nsq0H;FoOY^M%u zqU)uU_UAnk1&)1aDEL&)e?>;%8?W&#j5V)g==m$gK}3tb6!Ci|wo*)EH^T4HMVS}} zn*2=J<=G3;atC*Chhgu8NZTBdm>B~S*45Wc7!Z!&poLjsBs(++HRU5`v|_FrOTjvh zOe`mCgY(xo6ZB*Id@N#S$^)|rm_YO(N+_GZ&5xkpX)PnUz7M!9`Z{O#t7_K%6!iNp z4=z22@+RG%pQh z*8URy{*{@O^zU9ii2!>M45dXfWGsDsAw8oAD|hEVw@#l(iIH=dm4<3;npW4`;d+Bo>PSSuTiJ!ZCiL6y8p zRfY7`pVpYWP|SVpaJPD<{4O7N_{W2I1O~Z2GtO^b;1&)a((UNHIfHHM`_ponev0+jg(T=!B62xnD*Q1IS$RMp4_x3TzOvV1fmKmT?M0|x_ zoRNBv&pbz?0#g(k`gO;mkG}kc_ii!PgPGRbfECyV3<-Ki+YUreJ$5-3f4Wo%=8C++ z%IL@iqIKJS-pWg7y2BhfTTUq!4?+}vKJ^dcOJuy;3BkpO^QzXA3QG7$1fB^w2Njoy zMfKZ#K~r?%DFVB1{c?JRE109~x$^rX^zB6h_SOmi-rQd+LZ?(WwGa4s!slOR_4>5E zO+8O_F}d;-^!8{A<0jo(bXw}r>Cr(u!bfSncS|9n#mCpq+F^$d8%w7(alE`XO^_QU zSVjaU#UpuA^6Un#Hn}q<@PcGXkgHePRcDp)p`?nRFkG7&R^!1?#(%rmBJIFSng+!rUR?;_IRQ*h-}i&r#-P$lh6Az=!Vr65~1wa zRNIIZY&Hm~wUPWP@WNqc;-iyu=XJoGDScb>J;t}A3ag&fLcc}C)pJ-ehRjXTE6Z6h z4N>oC3izh=_#WAKT{iJCuCE6bv31!gT%|aY^vf)|m>n^!@*?DPM@HgJc8Q*St)V9i z$E!)ZBxp@xQ%?+EY}(lh4lEv<3naGN{L6)eL|4Xbde6DJV=;elN7yn+WRT*_34Msb z9SdOiE;gMUxcyiMD1QKmM_mgN`E&KpNE$mj!xQNc$TZ_HIIs=_So%+8tO4k7Z`7~s95!lF=p8AO%1$&X&R0!|{Yr`y$u zCD>OU`@FCF6XLDqmREk>){X+M_aul^c~BXA%*vlkW>v`rBlRHt*8~&7G&ZJsH=JRN z>&c2d`?(jEUq-b3CK|?jFR$O5^=8yw2siVQh2G)ph&fIdxR5+v#}$U6s-Zc-G&Kg)EztEpeYc(qNo?v(3bedC^fuSc{#QEqJb$FX9Sw=6kc znP5f3+Tq-2dpy#ZY;`G%DA~%G;~O#Rr_dVdxL?cd@6)a1sit;XlF<9bvR#NKF!owz z7aC%l(hqd0dUsmtS-o}T8s`RlUaa8D*n@M3744M)f(9s0hpPQi z*RwpMxR{T!FI|*-C#dFYILG{0y>$IsS-NKV+n7Qktr#>6Cf05>l`WOrH2` zv}Rqt)kRAJlvB@#C0_<#UGI_{mU}^=1hf>I976+yw~JXX#XBS+Zp?_}Xri zyC&&pdOv@tzPb>-5qh^zgbD2Z{reT}pHyRIBapcHkD>GOpZVqw)hKIWrE24CVQt}U z@!yDVxfE%PA#MWMy9i&j<$?{pTDdu**=S7MO1VWERhLo+M|`=ye9Y7xLO{dziR}yb zYhMXh{<=#wZPbk@cq_?&Eh-n-B1Q@b3%IW+}C4$8T4E@tV0XU$;wA zpp>rzJniX|B82m%WoBM?30_n&%*J;9#j)0v=a6&!q5I8|;NUR+B(Co1VCUfa-*SfN zOr{iY6RhbUNm92{J|Q5;4lswy*3})#DzEe*s#zktj|%*#?1#!p*7j>;z`4{-)m={9 zt$WQ}bhU>*-;+vyhGyL)D~-ryERj&JTB_10ub<%e{19bo`)mI0Y`c(XCjHFcid3os z@3Hj80i%o+`$HARLN8b*z6d3{rYxYAAft+d-2r|PJdiNiO%p5bMduBJ^6fT-@a$wzr#R{D*0BSo9)`(&>H(FjYwjqLm76HZR- zgH#C3HmnfVNl#zi7%3A$kvccD3>$=AAaIo?l{F|Z@=#1FyscTN%~L!m9UHWdtYCRx z{RNrk5*RW322CCJNcMfSxZ`Z5FE`CV8Zn5QirdsMm3yCgRmK+^qW(+u@C2Ehh7}o_ zA<8+g_3auBGwXUrwT`*DsY{QrqGBb-Nz$OK zYPiW9iFtrn1+V4HDIBjyB|xg3Gp&e5UuD?irvyvKxODPb@O_HP`=;e77W{vI(x@5m@|xPPf9{*C=-1N=Mo%nRc7gAa`0{?=0djr(UU{2ga#3ip3i XhK33<%72cb{Q0cl;ozj-{b%<-Pd1SZ delta 21045 zcmV)fK&8LBzX7DD0U1zB0|XQR000O8Adx9eB4obrmNEbU&AI}S87zN$a~n6Z@88<0 zdmFZw}m>&F-W`}Vtk9Gqx@ zcB$V{Tl?f1)FK~Di++D_eOn8Dj|=auQXO59hvnZyMBpL5^L^(gLXVqi!0|Tx)MHk$8+HsKd;_ zyoaVfXcnU{2=vZjhcE7e!24-?oADZ1(~juSU3;7T4OxBQ!M1;)>D!moH#N)rFRyfa zx3#mo-P(NtEZ8{sm1;l;{@ge??z6zPkyLW51@zYSpAKIfLGz#cmc@8}$n}W^nt^#l z|KsoEcg^ZU%9Y;-Dz`8u@qM4XANyP$w{ZCNQSBtz5P-nml%G5BSkFEi-t+ z@h@pJpD%0_hV_4$ZC=nG^#O`d$JLVuRRA~yB1#%ZMB=Zg&EucGo?o2(a&h#Dd^r8s zz9h9je|%m4`swue;_UM5!xj1c^zzHmM{;@f<>d72D-8Ai*W*-1RYx~cu_UFsfv(J}t>93dn{&?~}`3Vv(+ZVsLFTQ_5Z~0%xzqUUeL7Ah=tM*0n z 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 UJvZ$wf?EV4gaibx;D18@1O4o`^#A|> diff --git a/SQLWATCHDB/bin/Debug/SQLWATCHDB.dll b/SQLWATCHDB/bin/Debug/SQLWATCHDB.dll index 70507a6cb8220214c20f1a3bd073a4efa8969379..b49d23c5af35ab94de90000260fe2c720799dff5 100644 GIT binary patch delta 1315 zcmZuxO>7%Q6#iz{cI}Y5bptJJL*z6KAptqITN+3JC9)L~H8f70Ix3~2ZoIXZ_^-Pg zf(629g+ve+(y0(|La3LP13wKF7cQJQAR)x12YyZOho4Rhpzn3yQ_2mcXFbQR7F`up zFaa(`->EE0)ORcW*;CVL%2znQCOM0BCpAuJoYpv} z@wCRg#u!QWAcigs5D#LK*vDIr;Zd9=9>L4RF^ws0KaSUE$!g0PT!nA7qs8gt1A}kM zjJa1lAdBW$bHa74%K36*-uBAYgvUEQzwBAKYj*MltCDw??sZMtWh-Ynu3f9%>rBkBm?s8+&0lUUeQv)x^+Eg*_ml5e-heMEM9_>v_^Cu9Y8sX=_(q#M z1%lbRnT3h@6pQgefv%G0)!otIVfSKrCGRbkVs;Ji>+icyU{9*H#Vq>u^=LF1PdveL z7ub=A#Z_0epc@~_8KoE;-Hcx2b65)iC$s77`@c>;_1%vzjlXp?@cX_OuYPgv<~P2e z2!FfvDpc5S{qkr30poVRyyG92;ovjj94ousa;AJf7!S3Ijvrdepk>@L-1L9zzIr~ ztKCLf?1I&4GlPXRhszue=XE(7+8N1W4l`K51m?+v_bbna`b0ur3eB2R*du=k^**N< z)|p#H6*apkt|Q8xM4WGi*NY*|Wrq2SWKd={hqAzVh0?*2J{cFvze2}{lbThA_8QkL zlacoy=Ko_Q$2tbP5R7uJq6T)~Uz zg;}g@`(I-G)2N|ZJ~X;`)70E*UEwKfNU!Xz`+q-u@7>&*-2Jh2!-c7dY(s-AA*mF9 zv#xiXog!m?7&4g)GIH~>474m?Rq*@#cl(bAZ-2fuyjb|Ny;Im|EiFZCsymW@QH?rJ zm=3b_%Jg_U+Edbruf$3FW^yb%uo7d6AJ}=P+Jf1BqRPa_wyWld8=ZQi4T=|?Cepm) zT7N7n+K1QxcgDSRUM6v#z%|(XG~RUKT$A-uDshh-efB=QPHFck$VdMH D0=;R% diff --git a/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql b/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql index 9f94b8b6..837c4e30 100644 --- a/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql +++ b/SQLWATCHDB/dbo/Procedures/sp_sql_perf_mon_logger.sql @@ -19,7 +19,7 @@ declare @sql nvarchar(4000) -------------------------------------------------------------------------------------------------------------- -- detect which version of sql we are running as some dmvs are different in different versions of sql -------------------------------------------------------------------------------------------------------------- - set @product_version = convert(nvarchar(128),serverproperty('productversioN')); + set @product_version = convert(nvarchar(128),serverproperty('productversion')); select @product_version_major = substring(@product_version, 1,charindex('.', @product_version) + 1 ) diff --git a/SQLWATCHDB/dbo/Procedures/usp_logger_disk_utilisation.sql b/SQLWATCHDB/dbo/Procedures/usp_logger_disk_utilisation.sql new file mode 100644 index 00000000..9b73ee9e --- /dev/null +++ b/SQLWATCHDB/dbo/Procedures/usp_logger_disk_utilisation.sql @@ -0,0 +1,111 @@ +CREATE PROCEDURE [dbo].[usp_logger_disk_utilisation] +AS +set nocount on; + +declare @snapshot_type tinyint = 2 +declare @product_version nvarchar(128) +declare @product_version_major decimal(10,2) +declare @product_version_minor decimal(10,2) + +set @product_version = convert(nvarchar(128),serverproperty('productversion')); +select @product_version_major = substring(@product_version, 1,charindex('.', @product_version) + 1 ) + ,@product_version_minor = parsename(convert(varchar(32), @product_version), 2); +-------------------------------------------------------------------------------------------------------------- +-- set the basics +-------------------------------------------------------------------------------------------------------------- +declare @snapshot_time datetime = getdate(); +insert into [dbo].[sql_perf_mon_snapshot_header] +values (@snapshot_time, @snapshot_type) + +-------------------------------------------------------------------------------------------------------------- +-- get sp_spaceused +-------------------------------------------------------------------------------------------------------------- +declare @spaceused table ( + [database_name] nvarchar(128), + [database_size] varchar(18), + [unallocated_space] varchar(18), + [reserved] varchar(18), + [data] varchar(18), + [index_size] varchar(18), + [unused] varchar(18) +) +insert into @spaceused + exec sp_MSforeachdb 'use [?]; exec sp_spaceused @oneresultset = 1;' + +-------------------------------------------------------------------------------------------------------------- +-- get log usage +-------------------------------------------------------------------------------------------------------------- +declare @logspace_SQL2008 table ( + [database_name] sysname, + [log_space_mb] decimal(18,2), + [log_space_used_perc] real, + [status] bit +) + +declare @logspace table ( + [database_name] sysname, + [total_log_size_in_bytes] bigint, + [used_log_space_in_bytes] bigint +) + +if @product_version_major < 11 + begin + insert into @logspace_SQL2008 + exec ('DBCC SQLPERF(LOGSPACE);') + + /* make into a 2012 format */ + insert into @logspace + select + [database_name], + [total_log_size_in_bytes] = [log_space_mb] * 1024.0 * 1024.0, + [used_log_space_in_bytes] = ([log_space_mb] * [log_space_used_perc] / 100.0) * 1024.0 * 1024.0 + from @logspace_SQL2008 + end +else + begin + insert into @logspace + exec sp_MSforeachdb ' + use [?] + select + ''?'', + [total_log_size_in_bytes], + [used_log_space_in_bytes] + from sys.dm_db_log_space_usage' + end + + +-------------------------------------------------------------------------------------------------------------- +-- combine results and insert into the table +-------------------------------------------------------------------------------------------------------------- +insert into [dbo].[logger_disk_utilisation_database] +select + su.[database_name] + , [database_create_date] = db.create_date + /* + conversion from sp_spaceused MiB format to bytes so we have consistent units + to test that this gives us an exact number: + sp_spaceused returns 7.63 MB for master database. + our conversion below gives us 8000634 bytes -> covnert back to MB: + 8000634 / 1024 / 1024 = 7.6299 MB + Try: http://www.wolframalpha.com/input/?i=8000634+bytes+in+MiB + */ + , [database_size_bytes] = convert(bigint,convert(decimal(19,2),replace([database_size],' MB','')) * 1024 * 1024) + , [unallocated_space_bytes] = convert(bigint,convert(decimal(19,2),replace([unallocated_space],' MB','')) * 1024.0 * 1024.0) + , [reserved_bytes] = convert(bigint,convert(decimal(19,2),replace([reserved],' KB','')) * 1024.0) + , [data_bytes] = convert(bigint,convert(decimal(19,2),replace([data],' KB','')) * 1024.0) + , [index_size_bytes] = convert(bigint,convert(decimal(19,2),replace([index_size],' KB','')) * 1024.0) + , [unused_bytes] = convert(bigint,convert(decimal(19,2),replace([unused],' KB','')) * 1024.0) + , ls.[total_log_size_in_bytes] + , ls.[used_log_space_in_bytes] + , [snapshot_time] = @snapshot_time + , [snapshot_type_id] = @snapshot_type +from @spaceused su +inner join @logspace ls + on su.[database_name] = ls.[database_name] +inner join sys.databases db + on db.[name] = su.[database_name] +/* join on sqlwatch database list otherwise it will fail + for newly created databases not yet added to the list */ +inner join [dbo].[sql_perf_mon_database] swd + on swd.[database_name] = db.[name] + and swd.[database_create_date] = db.[create_date] diff --git a/SQLWATCHDB/dbo/Tables/logger_disk_utilisation_database.sql b/SQLWATCHDB/dbo/Tables/logger_disk_utilisation_database.sql new file mode 100644 index 00000000..f58034f5 --- /dev/null +++ b/SQLWATCHDB/dbo/Tables/logger_disk_utilisation_database.sql @@ -0,0 +1,25 @@ +CREATE TABLE [dbo].[logger_disk_utilisation_database] +( + [database_name] sysname, + [database_create_date] datetime, + [database_size_bytes] bigint, + [unallocated_space_bytes] bigint, + [reserved_bytes] bigint, + [data_bytes] bigint, + [index_size_bytes] bigint, + [unused_bytes] bigint, + [log_size_total_bytes] bigint, + [log_size_used_bytes] bigint, + [snapshot_time] datetime, + [snapshot_type_id] tinyint, + constraint PK_logger_disk_util_database + primary key clustered ([snapshot_time], [database_name]), + constraint FK_logger_disk_util_database_database + foreign key ([database_name],[database_create_date]) + references [dbo].[sql_perf_mon_database] ([database_name],[database_create_date]) + on delete cascade, + constraint FK_logger_disk_util_database_snapshot + foreign key ([snapshot_time],[snapshot_type_id]) + references [dbo].[sql_perf_mon_snapshot_header] ([snapshot_time],[snapshot_type_id]) + on delete cascade +) diff --git a/SQLWATCHDB/dbo/Tables/sql_perf_mon_config_snapshot_header_type.sql b/SQLWATCHDB/dbo/Tables/sql_perf_mon_config_snapshot_type.sql similarity index 100% rename from SQLWATCHDB/dbo/Tables/sql_perf_mon_config_snapshot_header_type.sql rename to SQLWATCHDB/dbo/Tables/sql_perf_mon_config_snapshot_type.sql From 119103430843a549173253a5bd8545e33aabc625 Mon Sep 17 00:00:00 2001 From: Marcin Gminski Date: Mon, 10 Sep 2018 20:10:16 +0100 Subject: [PATCH 3/3] Fixed server name in job creation --- SQLWATCHDB/Script.PostDeployment1.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SQLWATCHDB/Script.PostDeployment1.sql b/SQLWATCHDB/Script.PostDeployment1.sql index 371f5363..efd9c8f2 100644 --- a/SQLWATCHDB/Script.PostDeployment1.sql +++ b/SQLWATCHDB/Script.PostDeployment1.sql @@ -823,7 +823,7 @@ if (select name from sysjobs where name = 'SQLWATCH-LOGGER-DISK-UTILISATION') is @delete_level=0, @category_name=N'Data Collector', @owner_login_name=N'sa', @job_id = @jobId OUTPUT - EXEC msdb.dbo.sp_add_jobserver @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', @server_name = N'SQL-1' + EXEC msdb.dbo.sp_add_jobserver @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', @server_name = @server; EXEC msdb.dbo.sp_add_jobstep @job_name=N'SQLWATCH-LOGGER-DISK-UTILISATION', @step_name=N'exec dbo.usp_logger_disk_utilisation', @step_id=1, @cmdexec_success_code=0,