Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Plan de maintenance : probl création journal de transaction

4 réponses
Avatar
MS
Bonjour,

Nous utilisons un plan de maintenance pour vérifier l'intégrité et
sauvegarder une base de données SQL (SQL 2000). Ces opérations s'effectuent
correctement mais pas le journal des transactions : un évènement (ID 208)
apparait dans l'observateur Windows.
L'erreur semble correspondre à la description de l'article kB 902388 mais je
ne comprend pas la solution.
Quelqu'un peut-il m'aider ? Merci d'avance !
--
MS

4 réponses

Avatar
Philippe TROTIN [MS]
Bonjour,

La modification préconisée se situe au niveau du job SQL généré par le plan
de maintenance par SQL 2000.

Il suffit d'aller ajouter le nom du serveur et de l'instance à l'une des
commandes suivantes :

Travail d'optimisations pour DB Maintenance Plan :

• Ajoutez les paramètres à la commande par exemple comme montrer dans la
commande suivante :

Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
SupportComputedColumn WriteHistory-RebldIdx 10- InstanceName-PlanID
<GUID>- '

Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
SupportComputedColumn WriteHistory-CkDB- InstanceName-PlanID <GUID>- '


Si vous ne voyez pas, aller au niveau du job et envoyez nous la ligne de
commande dans le détail du job d'optimisation du plan de maintenance.


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"MS" a écrit dans le message de
news:
Bonjour,

Nous utilisons un plan de maintenance pour vérifier l'intégrité et
sauvegarder une base de données SQL (SQL 2000). Ces opérations
s'effectuent
correctement mais pas le journal des transactions : un évènement (ID 208)
apparait dans l'observateur Windows.
L'erreur semble correspondre à la description de l'article kB 902388 mais
je
ne comprend pas la solution.
Quelqu'un peut-il m'aider ? Merci d'avance !
--
MS


Avatar
MS
Bonjour,

Comme il n'existe pas de synthaxes similitaires à celles que vous avez
indiquées, dois-je en déduire que je dois les ajouter à mon script ?

Actuellement, voici les étapes du travail :

EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id =
1, @step_name = N'Étape 1', @command = N'EXECUTE master.dbo.xp_sqlmaint
N''-PlanID B389... -Rpt "D:Data_SQLMSSQLLOGSav.txt" -VrfyBackup
-BkUpMedia DISK -BkUpLog -UseDefDir -DelBkUps 2DAYS -CrBkSubDir -BkExt
"TRN"''', @database_name = N'test', @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

J'espère que ces informations seront suffisantes ; merci d'avance.

--
MS


"Philippe TROTIN [MS]" a écrit :

Bonjour,

La modification préconisée se situe au niveau du job SQL généré par le plan
de maintenance par SQL 2000.

Il suffit d'aller ajouter le nom du serveur et de l'instance à l'une des
commandes suivantes :

Travail d'optimisations pour DB Maintenance Plan :

• Ajoutez les paramètres à la commande par exemple comme montrer dans la
commande suivante :

Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
SupportComputedColumn WriteHistory-RebldIdx 10- InstanceName-PlanID
&LT;GUID&GT;- '

Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
SupportComputedColumn WriteHistory-CkDB- InstanceName-PlanID &LT;GUID&GT;- '


Si vous ne voyez pas, aller au niveau du job et envoyez nous la ligne de
commande dans le détail du job d'optimisation du plan de maintenance.


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"MS" a écrit dans le message de
news:
> Bonjour,
>
> Nous utilisons un plan de maintenance pour vérifier l'intégrité et
> sauvegarder une base de données SQL (SQL 2000). Ces opérations
> s'effectuent
> correctement mais pas le journal des transactions : un évènement (ID 208)
> apparait dans l'observateur Windows.
> L'erreur semble correspondre à la description de l'article kB 902388 mais
> je
> ne comprend pas la solution.
> Quelqu'un peut-il m'aider ? Merci d'avance !
> --
> MS




Avatar
Philippe TROTIN [MS]
A mon sens, il faut juste que vous renseignez la variable @server = N''
avec le nom de votre serveur SQL (avec éventuellement le nom de l'instance).

Mais il ne s'agit que d'une supposition au vue de la fiche technique. :-(


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"MS" a écrit dans le message de
news:
Bonjour,

Comme il n'existe pas de synthaxes similitaires à celles que vous avez
indiquées, dois-je en déduire que je dois les ajouter à mon script ?

Actuellement, voici les étapes du travail :

EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id > 1, @step_name = N'Étape 1', @command = N'EXECUTE master.dbo.xp_sqlmaint
N''-PlanID B389... -Rpt "D:Data_SQLMSSQLLOGSav.txt" -VrfyBackup
-BkUpMedia DISK -BkUpLog -UseDefDir -DelBkUps 2DAYS -CrBkSubDir -BkExt
"TRN"''', @database_name = N'test', @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

J'espère que ces informations seront suffisantes ; merci d'avance.

--
MS


"Philippe TROTIN [MS]" a écrit :

Bonjour,

La modification préconisée se situe au niveau du job SQL généré par le
plan
de maintenance par SQL 2000.

Il suffit d'aller ajouter le nom du serveur et de l'instance à l'une des
commandes suivantes :

Travail d'optimisations pour DB Maintenance Plan :

• Ajoutez les paramètres à la commande par exemple comme montrer dans
la
commande suivante :

Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
SupportComputedColumn WriteHistory-RebldIdx 10- InstanceName-PlanID
&LT;GUID&GT;- '

Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
SupportComputedColumn WriteHistory-CkDB- InstanceName-PlanID
&LT;GUID&GT;- '


Si vous ne voyez pas, aller au niveau du job et envoyez nous la ligne de
commande dans le détail du job d'optimisation du plan de maintenance.


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"MS" a écrit dans le message de
news:
> Bonjour,
>
> Nous utilisons un plan de maintenance pour vérifier l'intégrité et
> sauvegarder une base de données SQL (SQL 2000). Ces opérations
> s'effectuent
> correctement mais pas le journal des transactions : un évènement (ID
> 208)
> apparait dans l'observateur Windows.
> L'erreur semble correspondre à la description de l'article kB 902388
> mais
> je
> ne comprend pas la solution.
> Quelqu'un peut-il m'aider ? Merci d'avance !
> --
> MS






Avatar
MS
Le script complet vous donne-t-il plus d'infos :

EGIN 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'

-- Suppression du travail portant le même nom (le cas échéant)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Travail de sauvegarde du journal des transactions pour le
plan de maintenance de base de données « Sav »')
IF (@JobID IS NOT NULL)
BEGIN
-- Vérification du type multiserveur du travail
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- C'est le cas, donc abandon du script
RAISERROR (N'Impossible d''importer le travail « Travail de sauvegarde
du journal des transactions pour le plan de maintenance de base de données
« Sav » » puisqu''un travail multiserveur correspond déjà à ce nom.', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- Suppression du travail [local]
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Travail de sauvegarde du
journal des transactions pour le plan de maintenance de base de données « Sav
»'
SELECT @JobID = NULL
END

BEGIN

-- Ajout du travail
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT ,
@job_name = N'Travail de sauvegarde du journal des transactions pour le plan
de maintenance de base de données « Sav »', @owner_login_name = N'sa',
@description = N'Pas de description disponible.', @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

-- Ajout des étapes du travail
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id =
1, @step_name = N'Étape 1', @command = N'EXECUTE master.dbo.xp_sqlmaint
N''-PlanID B389... -Rpt "D:Data_SQLMSSQLLOGSav.txt" -VrfyBackup
-BkUpMedia DISK -BkUpLog -UseDefDir -DelBkUps 2DAYS -CrBkSubDir -BkExt
"TRN"''', @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

-- Ajout des planifications du travail
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name
= N'Planification 1', @enabled = 1, @freq_type = 8, @active_start_date =
20060614, @active_start_time = 224500, @freq_interval = 62, @freq_subday_type
= 1, @freq_subday_interval = 0, @freq_relative_interval = 0,
@freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time =
235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- Ajout des serveurs cible
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:


Merci,
--
MS


"Philippe TROTIN [MS]" a écrit :

A mon sens, il faut juste que vous renseignez la variable @server = N''
avec le nom de votre serveur SQL (avec éventuellement le nom de l'instance).

Mais il ne s'agit que d'une supposition au vue de la fiche technique. :-(


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"MS" a écrit dans le message de
news:
> Bonjour,
>
> Comme il n'existe pas de synthaxes similitaires à celles que vous avez
> indiquées, dois-je en déduire que je dois les ajouter à mon script ?
>
> Actuellement, voici les étapes du travail :
>
> EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id > > 1, @step_name = N'Étape 1', @command = N'EXECUTE master.dbo.xp_sqlmaint
> N''-PlanID B389... -Rpt "D:Data_SQLMSSQLLOGSav.txt" -VrfyBackup
> -BkUpMedia DISK -BkUpLog -UseDefDir -DelBkUps 2DAYS -CrBkSubDir -BkExt
> "TRN"''', @database_name = N'test', @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
>
> J'espère que ces informations seront suffisantes ; merci d'avance.
>
> --
> MS
>
>
> "Philippe TROTIN [MS]" a écrit :
>
>> Bonjour,
>>
>> La modification préconisée se situe au niveau du job SQL généré par le
>> plan
>> de maintenance par SQL 2000.
>>
>> Il suffit d'aller ajouter le nom du serveur et de l'instance à l'une des
>> commandes suivantes :
>>
>> Travail d'optimisations pour DB Maintenance Plan :
>>
>> • Ajoutez les paramètres à la commande par exemple comme montrer dans
>> la
>> commande suivante :
>>
>> Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
>> SupportComputedColumn WriteHistory-RebldIdx 10- InstanceName-PlanID
>> &LT;GUID&GT;- '
>>
>> Master.dbo.xp_sqlmaint N EXECUTE '- nom serveur S
>> SupportComputedColumn WriteHistory-CkDB- InstanceName-PlanID
>> &LT;GUID&GT;- '
>>
>>
>> Si vous ne voyez pas, aller au niveau du job et envoyez nous la ligne de
>> commande dans le détail du job d'optimisation du plan de maintenance.
>>
>>
>> Cordialement
>> _______________________________
>>
>> Philippe TROTIN
>> Microsoft Services France
>> _______________________________
>> "MS" a écrit dans le message de
>> news:
>> > Bonjour,
>> >
>> > Nous utilisons un plan de maintenance pour vérifier l'intégrité et
>> > sauvegarder une base de données SQL (SQL 2000). Ces opérations
>> > s'effectuent
>> > correctement mais pas le journal des transactions : un évènement (ID
>> > 208)
>> > apparait dans l'observateur Windows.
>> > L'erreur semble correspondre à la description de l'article kB 902388
>> > mais
>> > je
>> > ne comprend pas la solution.
>> > Quelqu'un peut-il m'aider ? Merci d'avance !
>> > --
>> > MS
>>
>>