Ver Mensaje Individual
  #3  
Antiguo 15-09-2005
Delphiboy Delphiboy is offline
Miembro
 
Registrado: mar 2005
Posts: 35
Reputación: 0
Delphiboy Va por buen camino
Codigo

Este es el codigo que me genera el "Trabajo" para el respaldo de la b.d.


-- Secuencia de comandos generada en 14/09/2005 12:58
-- Por: sa
-- Servidor: (LOCAL)
BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'Database Maintenance') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'Database Maintenance'

-- Eliminar el trabajo con el mismo nombre (si existe)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Copia de seguridad de base de datos para el plan de mantenimiento de base de datos ''Plan de mantenimiento de NPV''')
IF (@JobID IS NOT NULL)
BEGIN
-- Comprobar si el trabajo es un trabajo multiservidor
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- Así es, anular la secuencia de comandos
RAISERROR (N'No se puede importar el trabajo ''Copia de seguridad de base de datos para el plan de mantenimiento de base de datos ''Plan de mantenimiento de NPV'''' porque ya existe un trabajo multiservidor con este nombre.', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- Eliminar el trabajo [local]
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Copia de seguridad de base de datos para el plan de mantenimiento de base de datos ''Plan de mantenimiento de NPV'''
SELECT @JobID = NULL
END

BEGIN

-- Agregar el trabajo
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Copia de seguridad de base de datos para el plan de mantenimiento de base de datos ''Plan de mantenimiento de NPV''', @owner_login_name = N'sa', @description = N'No hay ninguna descripci¢n.', @category_name = N'Database Maintenance', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- Agregar los pasos del trabajo
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Paso 1', @command = N'EXECUTE master.dbo.xp_sqlmaint N''-PlanID FAFFD6AE-3EDF-4585-95B0-D478B7A1D9CF -Rpt "C:\RESPALDOS\INFORME\Plan de mantenimiento de NPV4.txt" -DelTxtRpt 5MINUTES -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB "D:\RESPALDOS" -DelBkUps 10MINUTES -BkExt "BAK"''', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 4, @retry_attempts = 0, @retry_interval = 0, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- Agregar las programaciones del trabajo
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Programaci¢n 1', @enabled = 1, @freq_type = 4, @active_start_date = 20050914, @active_start_time = 20000, @freq_interval = 1, @freq_subday_type = 4, @freq_subday_interval = 5, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- Agregar los servidores de destino
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
Responder Con Cita