Index_job

USE [msdb];
GO

/****** Object: Job [USER INDEXES] Script Date: 18/02/2016 16:54:31 ******/

BEGIN TRANSACTION;
DECLARE @ReturnCode INT;
SELECT @ReturnCode = 0;

/****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 18/02/2016 16:54:31 ******/

IF NOT EXISTS
(
SELECT name
FROM msdb.dbo.syscategories
WHERE name = N'[Uncategorized (Local)]’
AND category_class = 1
)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class = N’JOB’, @type = N’LOCAL’, @name = N'[Uncategorized (Local)]’;
IF(@@ERROR <> 0
OR @ReturnCode <> 0
)
GOTO QuitWithRollback;
END;
DECLARE @jobId BINARY(16);
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name = N’USER INDEXES’, @enabled = 1, @notify_level_eventlog = 0, @notify_level_email = 0, @notify_level_netsend = 0, @notify_level_page = 0, @delete_level = 0, @description = N’No description available.’, @category_name = N'[Uncategorized (Local)]’, @owner_login_name = N’sa’, @job_id = @jobId OUTPUT;
IF(@@ERROR <> 0
OR @ReturnCode <> 0
)
GOTO QuitWithRollback;

/****** Object: Step [IndexOptimize] Script Date: 18/02/2016 16:54:32 ******/

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @jobId, @step_name = N’IndexOptimize’, @step_id = 1, @cmdexec_success_code = 0, @on_success_action = 1, @on_success_step_id = 0, @on_fail_action = 2, @on_fail_step_id = 0, @retry_attempts = 0, @retry_interval = 0, @os_run_priority = 0, @subsystem = N’TSQL’, @command = N’EXECUTE dbo.IndexOptimize
@Databases = ”USER_DATABASES”,
@FragmentationLow = NULL,
@FragmentationMedium = ”INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE”,
@FragmentationHigh = ”INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE”,
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30′, @database_name = N’master’, @flags = 0;
IF(@@ERROR <> 0
OR @ReturnCode <> 0
)
GOTO QuitWithRollback;
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1;
IF(@@ERROR <> 0
OR @ReturnCode <> 0
)
GOTO QuitWithRollback;
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @jobId, @name = N’IndexOptimize’, @enabled = 1, @freq_type = 8, @freq_interval = 31, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_start_date = 20151111, @active_end_date = 99991231, @active_start_time = 220000, @active_end_time = 235959, @schedule_uid = N’3a390aa6-bae3-485c-9c4c-15ce5899db7f’;
IF(@@ERROR <> 0
OR @ReturnCode <> 0
)
GOTO QuitWithRollback;
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)’;
IF(@@ERROR <> 0
OR @ReturnCode <> 0
)
GOTO QuitWithRollback;
COMMIT TRANSACTION;
GOTO EndSave;
QuitWithRollback:
IF(@@TRANCOUNT > 0)
ROLLBACK TRANSACTION;
EndSave:
GO