mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
756 lines
27 KiB
Transact-SQL
756 lines
27 KiB
Transact-SQL
/*
|
|
SQLCMD script to generate jobs to support a centralized Policy-Based Management solution.
|
|
Set the variables to define the server, job owner and database which stores the policy results.
|
|
*/
|
|
:SETVAR JobOwner "User"
|
|
:SETVAR PSPath "E:\PBM_Pilot"
|
|
:SETVAR ManagementDatabase "MDW"
|
|
GO
|
|
|
|
USE [msdb]
|
|
GO
|
|
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Daily - Audit - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Audit',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Audit" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Daily',
|
|
@enabled=1,
|
|
@freq_type=4,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=12,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=0,
|
|
@active_start_date=20131105,
|
|
@active_end_date=99991231,
|
|
@active_start_time=50000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'7cac7a6c-6eb8-44ad-b1c9-c28b3d337f10'
|
|
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
|
|
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Daily - Performance - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Performance',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Daily',
|
|
@enabled=1,
|
|
@freq_type=4,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=12,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=0,
|
|
@active_start_date=20131105,
|
|
@active_end_date=99991231,
|
|
@active_start_time=50000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'7cac7a6c-6eb8-44ad-b1c9-c28b3d337f10'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Daily - Server Configuration - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
/****** Object: Step [Microsoft Best Practices: Server Configuration] Script Date: 26-06-2014 18:29:15 ******/
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Server Configuration',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Server Configuration" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Daily',
|
|
@enabled=1,
|
|
@freq_type=4,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=12,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=0,
|
|
@active_start_date=20131105,
|
|
@active_end_date=99991231,
|
|
@active_start_time=50000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'7cac7a6c-6eb8-44ad-b1c9-c28b3d337f10'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Daily - Windows Log File - Mode "Check"',
|
|
@enabled=0,
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
/****** Object: Step [Microsoft Best Practices: Windows Log File] Script Date: 26-06-2014 18:29:23 ******/
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Windows Log File',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Windows Log File" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Daily 1h',
|
|
@enabled=1,
|
|
@freq_type=4,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=6,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=0,
|
|
@active_start_date=20131105,
|
|
@active_end_date=99991231,
|
|
@active_start_time=10000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'2abcaeeb-0b57-4630-9326-0d3040d8e949'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Weekly - Database Configurations - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
/****** Object: Step [Microsoft Best Practices: Database Configurations] Script Date: 26-06-2014 18:29:28 ******/
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Database Configurations',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Database Configurations" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Weekly',
|
|
@enabled=1,
|
|
@freq_type=8,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140606,
|
|
@active_end_date=99991231,
|
|
@active_start_time=120000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'a515c257-d125-4b79-b924-2a5c6ade85b4'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Weekly - Database Design - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
/****** Object: Step [Microsoft Best Practices: Database Design] Script Date: 26-06-2014 18:29:35 ******/
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Database Design',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Database Design" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Weekly',
|
|
@enabled=1,
|
|
@freq_type=8,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140606,
|
|
@active_end_date=99991231,
|
|
@active_start_time=120000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'a515c257-d125-4b79-b924-2a5c6ade85b4'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Weekly - Maintenance - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Maintenance',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Maintenance" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Weekly',
|
|
@enabled=1,
|
|
@freq_type=8,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140606,
|
|
@active_end_date=99991231,
|
|
@active_start_time=120000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'a515c257-d125-4b79-b924-2a5c6ade85b4'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Weekly - Security - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Security',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Security" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Weekly',
|
|
@enabled=1,
|
|
@freq_type=8,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140606,
|
|
@active_end_date=99991231,
|
|
@active_start_time=120000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'a515c257-d125-4b79-b924-2a5c6ade85b4'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Weekly - Surface Area Configuration - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Off by Default: Surface Area Configuration',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Off by Default: Surface Area Configuration" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Weekly',
|
|
@enabled=1,
|
|
@freq_type=8,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140606,
|
|
@active_end_date=99991231,
|
|
@active_start_time=120000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'a515c257-d125-4b79-b924-2a5c6ade85b4'
|
|
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
|
|
|
|
USE [msdb]
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Execute EPM Policies - Weekly - Version Audit - Mode "Check"',
|
|
@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'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Microsoft Best Practices: Version Audit',
|
|
@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'PowerShell',
|
|
@command=N'SL "$(PSPath)"
|
|
.\EPM_EnterpriseEvaluation_4.ps1 -ConfigurationGroup "" -PolicyCategoryFilter "Microsoft Best Practices: Version Audit" -EvalMode "Check"',
|
|
@database_name=N'master',
|
|
@flags=0,
|
|
@proxy_name=N'Proxy_Powershell'
|
|
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'EPM Policies: Weekly',
|
|
@enabled=1,
|
|
@freq_type=8,
|
|
@freq_interval=1,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=0,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140606,
|
|
@active_end_date=99991231,
|
|
@active_start_time=120000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'a515c257-d125-4b79-b924-2a5c6ade85b4'
|
|
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
|
|
|
|
USE msdb
|
|
GO
|
|
BEGIN TRANSACTION
|
|
DECLARE @ReturnCode INT
|
|
SELECT @ReturnCode = 0
|
|
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Policy Management' AND category_class=1)
|
|
BEGIN
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Policy Management'
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
|
|
END
|
|
|
|
DECLARE @jobId BINARY(16)
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Purge EPM Policies data',
|
|
@enabled=0,
|
|
@notify_level_eventlog=0,
|
|
@notify_level_email=0,
|
|
@notify_level_netsend=0,
|
|
@notify_level_page=0,
|
|
@delete_level=0,
|
|
@description=N'By default, delete evaluation data over 90 days.',
|
|
@category_name=N'Policy Management',
|
|
@owner_login_name=N'$(JobOwner)', @job_id = @jobId OUTPUT
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Delete from PolicyHistory',
|
|
@step_id=1,
|
|
@cmdexec_success_code=0,
|
|
@on_success_action=3,
|
|
@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'WHILE (SELECT COUNT(PolicyHistoryID) FROM policy.PolicyHistory WHERE EvaluationDateTime > DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), -90)) > 0
|
|
BEGIN
|
|
DELETE TOP (5000) FROM policy.PolicyHistory
|
|
WHERE EvaluationDateTime > DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), -90)
|
|
END',
|
|
@database_name=N'$(ManagementDatabase)',
|
|
@flags=0
|
|
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
|
|
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Delete from EvaluationErrorHistory',
|
|
@step_id=2,
|
|
@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'DELETE FROM policy.EvaluationErrorHistory
|
|
WHERE EvaluationDateTime > DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), -90)',
|
|
@database_name=N'$(ManagementDatabase)',
|
|
@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'1st Saturday of Every Month',
|
|
@enabled=1,
|
|
@freq_type=32,
|
|
@freq_interval=7,
|
|
@freq_subday_type=1,
|
|
@freq_subday_interval=0,
|
|
@freq_relative_interval=1,
|
|
@freq_recurrence_factor=1,
|
|
@active_start_date=20140307,
|
|
@active_end_date=99991231,
|
|
@active_start_time=80000,
|
|
@active_end_time=235959
|
|
--@schedule_uid=N'7a06dab6-2331-43aa-834d-3644aed1e102'
|
|
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 |