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

LogShipping sous 2005 : alertes non justifiées

1 réponse
Avatar
Jean-Nicolas BERGER
Bonjour,
J'ai un souci avec un LogShipping sous SQL2005.
Du point de vue du serveur primaire et du serveur secondaire, tout se passe
bien, la base secondaire est bien régulièrement synchronisée, et il n'y a
aucune trace d'erreur dans les historiques de jobs.
Par contre, du point de vue du moniteur, tous les lancements du job d'alerte
tombent en erreur :

Date 24/09/2007 11:22:00
Journal Historique du travail (LSAlert_S64LMWBIAWJ)

ID de l'étape 1
Serveur S64LMWBIAWJ
Nom du travail LSAlert_S64LMWBIAWJ
Nom de l'étape Étape du travail d'alerte de l'envoi de journaux.
Durée 00:00:00
Gravité SQL 16
ID de message SQL 14421
Opérateur averti par courrier électronique
Opérateur averti par envoi réseau
Opérateur averti par radiomessagerie
Tentatives exécutées 0

Message
Exécuté en tant qu'utilisateur : COMMUN\DXIL_VFE_SQL_SVC. La base de données
secondaire d'envoi de journaux S64LMWBIAWH.OPERA a un seuil de restauration
de 45 minutes et n'est pas synchronisée. Aucune restauration n'a été
effectuée depuis 67530 minutes. La latence de la restauration est de
0 minutes. Vérifiez les informations du journal de l'agent et du moniteur
d'envoi de journaux. [SQLSTATE 42000] (erreur 14421). L'étape a échoué.


A noter que, sur le secondaire, j'ai modifié le job de restauration pour
gérer une concurrence d'accès à la base entre des procédures stockées et le
restore du log (je m'appuie sur une autre base du secondaire dans laquelle je
gère un jeton). Le job de restore est de type T-SQL, et le scipt est
ci-dessous.

begin transaction

declare @JETON int

select @JETON=ID_JETON from JETON with (TABLOCKX)

declare @Command nvarchar(4000)
DECLARE @sTollsPath nvarchar(4000)

EXEC master.dbo.xp_regread N'HKEY_LOCAL_MACHINE'
, N'SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup'
, N'SQLPath'
, @sTollsPath OUT
, N'no output'

select @Command = '"' + @sTollsPath + '\Binn\sqllogship.exe" -Restore ' +
convert(nvarchar(4000),secondary_id) + ' -server ' + @@SERVERNAME
from msdb.dbo.log_shipping_secondary_databases
where secondary_database='OPERA'

exec xp_cmdshell @Command

COMMIT TRANSACTION


Sauf erreur de ma part, ce script équivaut bien au lancement du .EXE qui va
bien, avec les paramètres qui vont bien.

Pourtant, le moniteur ne semble pas apprécier.
Quelqu'un a-t-il une idée?

Merci d'avance.
JN BERGER

1 réponse

Avatar
SQLpro
Tracez le texte de vos commande dans une table cela vous permettra de
savoir si la syntaxe est bonne en la rejouant. Je pense que c'est là
que vous devez chercher.

A +

On 24 sep, 11:40, Jean-Nicolas BERGER
wrote:
Bonjour,
J'ai un souci avec un LogShipping sous SQL2005.
Du point de vue du serveur primaire et du serveur secondaire, tout se pas se
bien, la base secondaire est bien régulièrement synchronisée, et il n'y a
aucune trace d'erreur dans les historiques de jobs.
Par contre, du point de vue du moniteur, tous les lancements du job d'ale rte
tombent en erreur :

Date 24/09/2007 11:22:00
Journal Historique du travail (LSAlert_S64LMWBIAWJ)

ID de l'étape 1
Serveur S64LMWBIAWJ
Nom du travail LSAlert_S64LMWBIAWJ
Nom de l'étape Étape du travail d'alerte de l'envoi de journa ux.
Durée 00:00:00
Gravité SQL 16
ID de message SQL 14421
Opérateur averti par courrier électronique
Opérateur averti par envoi réseau
Opérateur averti par radiomessagerie
Tentatives exécutées 0

Message
Exécuté en tant qu'utilisateur : COMMUNDXIL_VFE_SQL_SVC. La base de données
secondaire d'envoi de journaux S64LMWBIAWH.OPERA a un seuil de restaurati on
de 45 minutes et n'est pas synchronisée. Aucune restauration n'a ét é
effectuée depuis 67530 minutes. La latence de la restauration est de
0 minutes. Vérifiez les informations du journal de l'agent et du monite ur
d'envoi de journaux. [SQLSTATE 42000] (erreur 14421). L'étape a écho ué.

A noter que, sur le secondaire, j'ai modifié le job de restauration pour
gérer une concurrence d'accès à la base entre des procédures stoc kées et le
restore du log (je m'appuie sur une autre base du secondaire dans laquell e je
gère un jeton). Le job de restore est de type T-SQL, et le scipt est
ci-dessous.

begin transaction

declare @JETON int

select @JETON=ID_JETON from JETON with (TABLOCKX)

declare @Command nvarchar(4000)
DECLARE @sTollsPath nvarchar(4000)

EXEC master.dbo.xp_regread N'HKEY_LOCAL_MACHINE'
, N'SOFTWAREMicrosoftMi crosoft SQL Server90ToolsClientSetup'
, N'SQLPath'
, @sTollsPath OUT
, N'no output'

select @Command = '"' + @sTollsPath + 'Binnsqllogship.exe" -Restore ' +
convert(nvarchar(4000),secondary_id) + ' -server ' + @@SERVERNAME
from msdb.dbo.log_shipping_secondary_databases
where secondary_database='OPERA'

exec xp_cmdshell @Command

COMMIT TRANSACTION

Sauf erreur de ma part, ce script équivaut bien au lancement du .EXE qu i va
bien, avec les paramètres qui vont bien.

Pourtant, le moniteur ne semble pas apprécier.
Quelqu'un a-t-il une idée?

Merci d'avance.
JN BERGER