OVH Cloud OVH Cloud

Sauvegardes automatisées

1 réponse
Avatar
Jean-Francois Courteau
J'ai plusieurs tentatives à mon actif afin d'en arriver à ce que mon serveur
sql 7.0 (sp4)
procède à la sauvegarde de la base de données à chaque fin de journée. J'ai
en premier
lieu utilisé le menu contextuel qui se présente sur un clique de sourie
après avoir sélectioner
la base et ai utilisé l'option schedule et ai empli les informations
nécessaires sans succès.
J'ai cru noter que la tâche fut sauvegardée dans la section "Job" sous "Sql
server agent"
mais le fichier ne fut jamais mis à jour au moment ou la tâche devrait avoir
terminé son
exécution. J'ai ensuite tenté avec la section "Database maintenance plans"
et ai empli
les information afin que ma sauvegarde ai lieu à chaque jour en fin de
journée. Même
phénomène que dans le premier cas, la tâche se retrouve bien sauvegardé dans
la section
"Jobs" mais celle ci ne semble jamais s'exécuter dailleurs les champs "Last
Run Status (Start Date)"
et "Next Run Date" ont respectivement "Unknow" et "Date and time are not
available" comme valeur.


Je laisse ci-dessous le script de la job au cas ou l'erreur serait à ce
niveau mais celui-ci fut
généré par l'outil à cet effet de sql server.


Merci d'avance de votre participation à ma cause ;-).

Jean-François Courteau

-- Script generated on 11/17/2004 9:19 AM
-- By: SYMPHONIE\Administrator
-- Server: SDONNEES

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'

-- Delete the job with the same name (if it exists)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'DB Backup Job for DB Maintenance Plan
''JF_Scheduled_Backup''')
IF (@JobID IS NOT NULL)
BEGIN
-- Check if the job is a multi-server job
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- There is, so abort the script
RAISERROR (N'Unable to import job ''DB Backup Job for DB Maintenance
Plan ''JF_Scheduled_Backup'''' since there is already a multi-server job
with this name.', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- Delete the [local] job
EXECUTE msdb.dbo.sp_delete_job @job_name = N'DB Backup Job for DB
Maintenance Plan ''JF_Scheduled_Backup'''
SELECT @JobID = NULL
END

BEGIN

-- Add the job
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT ,
@job_name = N'DB Backup Job for DB Maintenance Plan
''JF_Scheduled_Backup''', @owner_login_name = N'SYMPHONIE\Administrator',
@description = N'No description available.', @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

-- Add the job steps
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id =
1, @step_name = N'Step 1', @command = N'EXECUTE master.dbo.xp_sqlmaint
N''-PlanID 848E0A1D-7491-4D63-B48B-5433B1D6499B -Rpt
"C:\MSSQL7\LOG\JF_Scheduled_Backup4.txt" -WriteHistory -VrfyBackup -BkUpMed
ia DISK -BkUpDB "C:\Eastern_Backup" -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

-- Add the job schedules
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name
= N'Schedule 1', @enabled = 1, @freq_type = 4, @active_start_date =
20041110, @active_start_time = 163500, @freq_interval = 1, @freq_subday_type
= 1, @freq_subday_interval = 0, @freq_relative_interval = 0,
@freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time =
235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- Add the Target Servers
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:

1 réponse

Avatar
Oliv'
Bonjour,
Il faut que sql server Agent soit démarré .
Oliv'"Jean-Francois Courteau" a écrit dans le
message de news:
J'ai plusieurs tentatives à mon actif afin d'en arriver à ce que mon serveur
sql 7.0 (sp4)
procède à la sauvegarde de la base de données à chaque fin de journée. J'ai
en premier
lieu utilisé le menu contextuel qui se présente sur un clique de sourie
après avoir sélectioner
la base et ai utilisé l'option schedule et ai empli les informations
nécessaires sans succès.
J'ai cru noter que la tâche fut sauvegardée dans la section "Job" sous "Sql
server agent"
mais le fichier ne fut jamais mis à jour au moment ou la tâche devrait avoir
terminé son
exécution. J'ai ensuite tenté avec la section "Database maintenance plans"
et ai empli
les information afin que ma sauvegarde ai lieu à chaque jour en fin de
journée. Même
phénomène que dans le premier cas, la tâche se retrouve bien sauvegardé dans
la section
"Jobs" mais celle ci ne semble jamais s'exécuter dailleurs les champs "Last
Run Status (Start Date)"
et "Next Run Date" ont respectivement "Unknow" et "Date and time are not
available" comme valeur.


Je laisse ci-dessous le script de la job au cas ou l'erreur serait à ce
niveau mais celui-ci fut
généré par l'outil à cet effet de sql server.


Merci d'avance de votre participation à ma cause ;-).

Jean-François Courteau

-- Script generated on 11/17/2004 9:19 AM
-- By: SYMPHONIEAdministrator
-- Server: SDONNEES

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'

-- Delete the job with the same name (if it exists)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'DB Backup Job for DB Maintenance Plan
''JF_Scheduled_Backup''')
IF (@JobID IS NOT NULL)
BEGIN
-- Check if the job is a multi-server job
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- There is, so abort the script
RAISERROR (N'Unable to import job ''DB Backup Job for DB Maintenance
Plan ''JF_Scheduled_Backup'''' since there is already a multi-server job
with this name.', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- Delete the [local] job
EXECUTE msdb.dbo.sp_delete_job @job_name = N'DB Backup Job for DB
Maintenance Plan ''JF_Scheduled_Backup'''
SELECT @JobID = NULL
END

BEGIN

-- Add the job
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT ,
@job_name = N'DB Backup Job for DB Maintenance Plan
''JF_Scheduled_Backup''', @owner_login_name = N'SYMPHONIEAdministrator',
@description = N'No description available.', @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

-- Add the job steps
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id 1, @step_name = N'Step 1', @command = N'EXECUTE master.dbo.xp_sqlmaint
N''-PlanID 848E0A1D-7491-4D63-B48B-5433B1D6499B -Rpt
"C:MSSQL7LOGJF_Scheduled_Backup4.txt" -WriteHistory -VrfyBackup -BkUpMed
ia DISK -BkUpDB "C:Eastern_Backup" -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

-- Add the job schedules
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name
= N'Schedule 1', @enabled = 1, @freq_type = 4, @active_start_date 20041110, @active_start_time = 163500, @freq_interval = 1, @freq_subday_type
= 1, @freq_subday_interval = 0, @freq_relative_interval = 0,
@freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- Add the Target Servers
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: