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

Plan de maintenance et dates

2 réponses
Avatar
gploquin
J'ai un problème avec le plan de maintenance de sauvegarde de la base.
Mon plan s'exécute en 3 étapes :
- vérification de l'intégrité de toutes les bases
- si succès : sauvegarde complète de toutes les bases
- si succès : sauvegarde des journaux de transaction de toutes les bases
Il est censé se lancer à 21h tous les soirs.

Du 1er au 12 du mois, pas de problème, tout se passe bien.
Par contre, à partir du 13, je n'ai plus de sauvegarde des bases ou des
journaux.
L'étape 1 se termine correctement avec succès, mais les étapes suivantes
semblent ne pas être lancées (rien dans les journaux).
Le 1er du mois suivant, ça repart correctement.
Si j'exécute les traitements depuis le Management Studio, c'est pareil (ça a
l'air de mieux fonctionner si je remplace la contrainte de précédence
"succès" par "à l'achèvement").

Ca pourrait ressembler à un problème de format de date, mais je ne suis pas
sûr (et je ne sais pas comment le forcer à utiliser le format français).
Quelqu'un aurait-il une idée ?

(Plateforme : SQL Server 2005 sur Windows 2003)

2 réponses

Avatar
Fred BROUARD
Bonjour,


gploquin a écrit :
J'ai un problème avec le plan de maintenance de sauvegarde de la base.
Mon plan s'exécute en 3 étapes :
- vérification de l'intégrité de toutes les bases
- si succès : sauvegarde complète de toutes les bases
- si succès : sauvegarde des journaux de transaction de toutes les bases
Il est censé se lancer à 21h tous les soirs.

Du 1er au 12 du mois, pas de problème, tout se passe bien.
Par contre, à partir du 13, je n'ai plus de sauvegarde des bases ou des
journaux.
L'étape 1 se termine correctement avec succès, mais les étapes suivantes
semblent ne pas être lancées (rien dans les journaux).
Le 1er du mois suivant, ça repart correctement.
Si j'exécute les traitements depuis le Management Studio, c'est pareil (ça a
l'air de mieux fonctionner si je remplace la contrainte de précédence
"succès" par "à l'achèvement").

Ca pourrait ressembler à un problème de format de date, mais je ne suis pas
sûr (et je ne sais pas comment le forcer à utiliser le format français).
Quelqu'un aurait-il une idée ?

(Plateforme : SQL Server 2005 sur Windows 2003)




la notion de format de date n'existe pas. Une date est un type SQL date !

En revanche la conversion d'une chaine en type date doit se faire au
format normalisé par l'ISO c'est à dire :
AAAAMMJJ
et rien d'autres, car toutes les autres formulations sont sujettes aux
différents paramétrage :
OS client + os serveur + SQL Server.

Lisez l'article que nous avons écrit sur le sujet :
http://baptiste-wicht.developpez.com/tutoriel/ms-sql/datetime/

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
gploquin
Bonjour,

"Fred BROUARD" a écrit :

Bonjour,

la notion de format de date n'existe pas. Une date est un type SQL date !

En revanche la conversion d'une chaine en type date doit se faire au
format normalisé par l'ISO c'est à dire :
AAAAMMJJ
et rien d'autres, car toutes les autres formulations sont sujettes aux
différents paramétrage :
OS client + os serveur + SQL Server.

Lisez l'article que nous avons écrit sur le sujet :
http://baptiste-wicht.developpez.com/tutoriel/ms-sql/datetime/

A +




Merci pour ce lien. J'avais déjà été confronté à ces problèmes et si je
l'avais lu à ce moment-là, il m'aurait été bien utile. En tout cas, je vais
le garder...

D'après ce que j'ai pu voir, les dates des plans de maintenance sont
générées à la volée par le planificateur SQLServer. Et il semble qu'elles
soient écrites dans le script au "format" MM/DD/YYYY. Résultat, quand le
script est réellement exécuté, il ne peut pas traiter les dates supérieures
au 12 du mois (par exemple, pour le 13 août 2007, le script aura
"08/13/2007", ce qui n'est pas une date correcte au "format" français de l'OS
et du SQL Server).
Si c'est bien quelque chose dans ce genre, ce qui me surprend, c'est de ne
pas trouver de trace d'erreur de conversion dans les logs.

Plus surprenant encore, c'est qu'en modifiant les contraintes de précédence
("à l'achèvement" au lieu de "succès") entre les étapes du plan de
maintenance, ça fonctionne correctement.
Y a-t-il quelqu'un qui aurait un plan de maintenance identique au nôtre (au
moins les 2 premières étapes) et chez qui ça fonctionne ?

Merci !