CREATECollectionJob.sql 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. USE [msdb]
  2. GO
  3. EXEC msdb.dbo.sp_set_sqlagent_properties @email_save_in_sent_folder=1,
  4. @alert_replace_runtime_tokens=1,
  5. @use_databasemail=1
  6. GO
  7. /****** Object: Job [DBA - Performance Statistics] Script Date: 12/10/2014 2:15:35 PM ******/
  8. BEGIN TRANSACTION
  9. DECLARE @ReturnCode INT
  10. SELECT @ReturnCode = 0
  11. /****** Object: JobCategory [Database Maintenance] Script Date: 12/10/2014 2:15:35 PM ******/
  12. IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'PerfMon Collection' AND category_class=1)
  13. BEGIN
  14. EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'PerfMon Collection'
  15. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  16. END
  17. DECLARE @jobId BINARY(16)
  18. EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DBA - PerfMon Counter Collection',
  19. @enabled=1,
  20. @notify_level_eventlog=2,
  21. @notify_level_email=0,
  22. @notify_level_netsend=0,
  23. @notify_level_page=0,
  24. @delete_level=0,
  25. @description=N'Collect performance counters for SQL Server baselining',
  26. @category_name=N'PerfMon Collection',
  27. @owner_login_name=N'sa', @job_id = @jobId OUTPUT
  28. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  29. /****** Object: Step [Get PerfMon data] Script Date: 12/10/2014 2:15:35 PM ******/
  30. EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Get PerfMon data',
  31. @step_id=1,
  32. @cmdexec_success_code=0,
  33. @on_success_action=1,
  34. @on_success_step_id=0,
  35. @on_fail_action=2,
  36. @on_fail_step_id=0,
  37. @retry_attempts=0,
  38. @retry_interval=0,
  39. @os_run_priority=0, @subsystem=N'TSQL',
  40. @command=N'EXEC spGetPerfCountersFromPowerShell',
  41. @database_name=N'dba_local',
  42. @flags=32
  43. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  44. EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
  45. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  46. EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Every 5 Minutes',
  47. @enabled=1,
  48. @freq_type=4,
  49. @freq_interval=1,
  50. @freq_subday_type=4,
  51. @freq_subday_interval=5,
  52. @freq_relative_interval=0,
  53. @freq_recurrence_factor=0,
  54. @active_start_date=20140903,
  55. @active_end_date=99991231,
  56. @active_start_time=0,
  57. @active_end_time=235959,
  58. @schedule_uid=N'c469be3f-e33b-4a9e-a02f-4a70db2012bd'
  59. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  60. EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
  61. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  62. COMMIT TRANSACTION
  63. GOTO EndSave
  64. QuitWithRollback:
  65. IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
  66. EndSave:
  67. GO
  68. USE [msdb]
  69. GO
  70. /****** Object: Job [DBA - Load Session Status per minute] Script Date: 2/1/2016 11:08:14 AM ******/
  71. BEGIN TRANSACTION
  72. DECLARE @ReturnCode INT
  73. SELECT @ReturnCode = 0
  74. /****** Object: JobCategory [DBA] Script Date: 2/1/2016 11:08:14 AM ******/
  75. IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'DBA' AND category_class=1)
  76. BEGIN
  77. EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'DBA'
  78. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  79. END
  80. DECLARE @jobId BINARY(16)
  81. EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DBA - Load Session Status per minute',
  82. @enabled=1,
  83. @notify_level_eventlog=0,
  84. @notify_level_email=0,
  85. @notify_level_netsend=0,
  86. @notify_level_page=0,
  87. @delete_level=0,
  88. @description=N'This job runs every minutes to capture the status of all the sessions running on the instance and loads it in the dbo.Sessionstatus table in dba_local',
  89. @category_name=N'DBA',
  90. @owner_login_name=N'sa', @job_id = @jobId OUTPUT
  91. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  92. /****** Object: Step [Load Session Status] Script Date: 2/1/2016 11:08:15 AM ******/
  93. EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Load Session Status',
  94. @step_id=1,
  95. @cmdexec_success_code=0,
  96. @on_success_action=1,
  97. @on_success_step_id=0,
  98. @on_fail_action=2,
  99. @on_fail_step_id=0,
  100. @retry_attempts=0,
  101. @retry_interval=0,
  102. @os_run_priority=0, @subsystem=N'TSQL',
  103. @command=N'exec dbo.spLoadSessionStatus',
  104. @database_name=N'dba_local',
  105. @flags=0
  106. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  107. EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
  108. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  109. EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Load Session status per min',
  110. @enabled=1,
  111. @freq_type=4,
  112. @freq_interval=1,
  113. @freq_subday_type=4,
  114. @freq_subday_interval=1,
  115. @freq_relative_interval=0,
  116. @freq_recurrence_factor=0,
  117. @active_start_date=20150817,
  118. @active_end_date=99991231,
  119. @active_start_time=0,
  120. @active_end_time=235959,
  121. @schedule_uid=N'9b226349-52b8-4e4a-8219-ef062a524757'
  122. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  123. EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
  124. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  125. COMMIT TRANSACTION
  126. GOTO EndSave
  127. QuitWithRollback:
  128. IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
  129. EndSave:
  130. GO
  131. /****** Object: Job [Load SystemHealthSession] Script Date: 7/26/2016 12:26:37 PM ******/
  132. BEGIN TRANSACTION
  133. DECLARE @ReturnCode INT
  134. SELECT @ReturnCode = 0
  135. /****** Object: JobCategory [DBA] Script Date: 7/26/2016 12:26:37 PM ******/
  136. IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'DBA' AND category_class=1)
  137. BEGIN
  138. EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'DBA'
  139. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  140. END
  141. DECLARE @jobId BINARY(16)
  142. EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Load SystemHealthSession',
  143. @enabled=1,
  144. @notify_level_eventlog=0,
  145. @notify_level_email=0,
  146. @notify_level_netsend=0,
  147. @notify_level_page=0,
  148. @delete_level=0,
  149. @description=N'This job load the system health session xel trace files to tables in dba_local every morning at 2AM',
  150. @category_name=N'DBA',
  151. @owner_login_name=N'sa', @job_id = @jobId OUTPUT
  152. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  153. /****** Object: Step [Load SystemHealthSession] Script Date: 7/26/2016 12:26:38 PM ******/
  154. EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Load SystemHealthSession',
  155. @step_id=1,
  156. @cmdexec_success_code=0,
  157. @on_success_action=1,
  158. @on_success_step_id=0,
  159. @on_fail_action=2,
  160. @on_fail_step_id=0,
  161. @retry_attempts=0,
  162. @retry_interval=0,
  163. @os_run_priority=0, @subsystem=N'TSQL',
  164. @command=N'exec dbo.spLoadSystemHealthSession',
  165. @database_name=N'dba_local',
  166. @flags=0
  167. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  168. EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
  169. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  170. EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Daily 2AM',
  171. @enabled=1,
  172. @freq_type=4,
  173. @freq_interval=1,
  174. @freq_subday_type=1,
  175. @freq_subday_interval=0,
  176. @freq_relative_interval=0,
  177. @freq_recurrence_factor=0,
  178. @active_start_date=20160726,
  179. @active_end_date=99991231,
  180. @active_start_time=20000,
  181. @active_end_time=235959,
  182. @schedule_uid=N'7507f377-9fe9-46b5-ba54-0b3a20965091'
  183. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  184. EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
  185. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
  186. COMMIT TRANSACTION
  187. GOTO EndSave
  188. QuitWithRollback:
  189. IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
  190. EndSave:
  191. GO