pgup12 发表于 2018-10-23 11:07:55

SQL Server 2014 日志传送部署(5):通过T-SQL命令来部署日志传送

-- 添加日志传送配置  
-- ****** 开始: 要在辅助服务器 上运行的脚本 ******
  
DECLARE @LS_Secondary__CopyJobId AS uniqueidentifier
  
DECLARE @LS_Secondary__RestoreJobId AS uniqueidentifier
  
DECLARE @LS_Secondary__SecondaryId AS uniqueidentifier
  
DECLARE @LS_Add_RetCode As int
  
EXEC @LS_Add_RetCode = master.dbo.sp_add_log_shipping_secondary_primary
  
@primary_server = N'SQLSVR1'
  
,@primary_database = N'DB01'
  
,@backup_source_directory = N'\\192.168.1.20\backuplog'
  
,@backup_destination_directory = N'd:\copylog'
  
,@copy_job_name = N'LSCopy_SQLSVR1_DB01'
  
,@restore_job_name = N'LSRestore_SQLSVR1_DB01'
  
,@file_retention_period = 4320
  
,@monitor_server = N'SQLSVR3'
  
,@monitor_server_security_mode = 1
  
,@overwrite = 1
  
,@copy_job_id = @LS_Secondary__CopyJobId OUTPUT
  
,@restore_job_id = @LS_Secondary__RestoreJobId OUTPUT
  
,@secondary_id = @LS_Secondary__SecondaryId OUTPUT
  
IF (@@ERROR = 0 AND @LS_Add_RetCode = 0)
  
BEGIN
  
DECLARE @LS_SecondaryCopyJobScheduleUID As uniqueidentifier
  
DECLARE @LS_SecondaryCopyJobScheduleID AS int
  
EXEC msdb.dbo.sp_add_schedule
  
@schedule_name =N'DefaultCopyJobSchedule'
  
,@enabled = 1
  
,@freq_type = 4
  
,@freq_interval = 1
  
,@freq_subday_type = 4
  
,@freq_subday_interval = 15
  
,@freq_recurrence_factor = 0
  
,@active_start_date = 20140708
  
,@active_end_date = 99991231
  
,@active_start_time = 0
  
,@active_end_time = 235900
  
,@schedule_uid = @LS_SecondaryCopyJobScheduleUID OUTPUT
  
,@schedule_id = @LS_SecondaryCopyJobScheduleID OUTPUT
  
EXEC msdb.dbo.sp_attach_schedule
  
@job_id = @LS_Secondary__CopyJobId
  
,@schedule_id = @LS_SecondaryCopyJobScheduleID
  
DECLARE @LS_SecondaryRestoreJobScheduleUID As uniqueidentifier
  
DECLARE @LS_SecondaryRestoreJobScheduleID AS int
  
EXEC msdb.dbo.sp_add_schedule
  
@schedule_name =N'DefaultRestoreJobSchedule'
  
,@enabled = 1
  
,@freq_type = 4
  
,@freq_interval = 1
  
,@freq_subday_type = 4
  
,@freq_subday_interval = 15
  
,@freq_recurrence_factor = 0
  
,@active_start_date = 20140708
  
,@active_end_date = 99991231
  
,@active_start_time = 0
  
,@active_end_time = 235900
  
,@schedule_uid = @LS_SecondaryRestoreJobScheduleUID OUTPUT
  
,@schedule_id = @LS_SecondaryRestoreJobScheduleID OUTPUT
  
EXEC msdb.dbo.sp_attach_schedule
  
@job_id = @LS_Secondary__RestoreJobId
  
,@schedule_id = @LS_SecondaryRestoreJobScheduleID
  
END
  
DECLARE @LS_Add_RetCode2 As int
  
IF (@@ERROR = 0 AND @LS_Add_RetCode = 0)
  
BEGIN
  
EXEC @LS_Add_RetCode2 = master.dbo.sp_add_log_shipping_secondary_database
  
@secondary_database = N'DB01'
  
,@primary_server = N'SQLSVR1'
  
,@primary_database = N'DB01'
  
,@restore_delay = 0
  
,@restore_mode = 0
  
,@disconnect_users = 0
  
,@restore_threshold = 45
  
,@threshold_alert_enabled = 1
  
,@history_retention_period = 5760
  
,@overwrite = 1
  
,@ignoreremotemonitor = 1
  
END
  
IF (@@error = 0 AND @LS_Add_RetCode = 0)
  
BEGIN
  
EXEC msdb.dbo.sp_update_job
  
@job_id = @LS_Secondary__CopyJobId
  
,@enabled = 1
  
EXEC msdb.dbo.sp_update_job
  
@job_id = @LS_Secondary__RestoreJobId
  
,@enabled = 1
  
END
  
-- ****** 结束: 要在辅助服务器 上运行的脚本 ******


页: [1]
查看完整版本: SQL Server 2014 日志传送部署(5):通过T-SQL命令来部署日志传送