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

Procédure cryptée dans model -> erreur d'exécution dans base gén ér

4 réponses
Avatar
Dude76
Bonjour.
Je rencontre un souci sur SQL Server 2000.
Nous avons des procédures cryptées dans la base model.
Nous créons une nouvelle base quotidiennement.
Dans cette base, certaines procédures cryptées ne fonctionne plus.
Si on les décryptent-réencryptent, elles fonctionnent à nouveau...
Mais bien-sûr, sur les nouvelles bases générées ensuites, le problème se
renouvelle...
Ca ne le fait pas avec toutes les procédures, seulement quelques-unes.
Je n'ai pas encore trouvé de points commun entre ces différentes procédures.
L'une d'elle fait des dbcc (showcontig, dbreindex, ...) en sql dynamique,
l'autre fait essentiellement des appels à master..sp_dbOption.

Merci d'avance pour votre aide ^^

4 réponses

Avatar
Christian Robert
Bonjour,

Pourriez vous nous mettre le message / numéro d'erreur généré ?

--
Cordialement,
Christian Robert http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration


"Dude76" a écrit :

Bonjour.
Je rencontre un souci sur SQL Server 2000.
Nous avons des procédures cryptées dans la base model.
Nous créons une nouvelle base quotidiennement.
Dans cette base, certaines procédures cryptées ne fonctionne plus.
Si on les décryptent-réencryptent, elles fonctionnent à nouveau...
Mais bien-sûr, sur les nouvelles bases générées ensuites, le problème se
renouvelle...
Ca ne le fait pas avec toutes les procédures, seulement quelques-unes.
Je n'ai pas encore trouvé de points commun entre ces différentes procédures.
L'une d'elle fait des dbcc (showcontig, dbreindex, ...) en sql dynamique,
l'autre fait essentiellement des appels à master..sp_dbOption.

Merci d'avance pour votre aide ^^


Avatar
Dude76
Je mettrai ça dès demain de retour au boulot ^^
Merci de vous pencher dessus.
Avatar
Dude76
Quelques précisions supplémentaires...
-Le problème ne survient que par un appel via le serveur lié (pas d'erreur
en exécution locale)

'contexte':
Ces procédures sont appelées dans un job de maintenance.
Serveur principal : 8.00.760 SP3
Serveur lié où les bases sont générées et les proc liées appelées : 8.00.194
(à priori pas de SP ... :/ )

L'erreur du job de maintenance (à partir de laquelle j'ai repris mes
recherches):
(nota: j'ai enlevé les caractères unicodes 'illisibles' et ai remplacé les
noms des bases)
Exécuté en tant qu'utilisateur : AUTORITE NTSYSTEM. ...ez les guillemets
avant la chaîne de caractères ' ### ici une longue chaîne de caractères
unicodes lié au cryptage de la proc ### ... [SQLSTATE 42000] (erreur 105)
Ligne 1 : syntaxe incorrecte vers ''. [SQLSTATE 42000] (erreur 170) exec do
[SQLSTATE 01000] (erreur 0) BACKUP DATABASE a traité avec succès 809 pages
en 0.942 secondes (7.027 Mo/s). [SQLSTATE 01000] (erreur 3014) 1 pages
traitées pour la base de données 'MABASE_20060812', fichier
'MABASE_20060812_Log' sur le fichier 1. [SQLSTATE 01000] (erreur 4035) 808
pages traitées pour la base de données 'MABASE_20060812', fichier
'MABASE_20060812_Data' sur le fichier 1. [SQLSTATE 01000] (erreur 4035).
L'étape a échoué.

J'ai fait recrypter une des procédures pour pouvoir à nouveau tester demain
et obtenir à nouveau des messages d'erreurs
Avatar
Dude76
Résultat du test ...
Hier (16/08):
décryptage & réencryptage dans la base du 15/08 et dans la base model
aujourd'hui (17/08):
test de la procédure dans la base du 15 (en serveur lié ou en local) -> pas
d'erreur
test de la procédure dans la base du 18 (l'exécution normale aura lieu ce
soir dans un job), que ce soit en serleur lié ou en local, erreur:
"Ligne 1 : syntaxe incorrecte vers '㴤'. "
(le 㴤 est affiché en carré dans le message d'erreur de l'analyseur)

La seule différence à ma connaissance est que la base du 18 a été générée à
l'aide d'un create Database lors du job.

J'avais mis "en dure" des traces (xp_cmdshell 'echo blablabla >> fic.txt'),
il ne rentre même pas dans la procédure.

Que fait la procédure:
-création de table temporaire
-curseur sur les tables du schéma
-insert dans la table tempo à partir de l'exec (sql dyna) d'un dbcc
showcontig de la table
-curseur su la table tempo: exec (sql dyna) dbcc indexdefrag
-drop table tempo

l'autre procédure qui posait problème (et qui pour l'instant est non-cryptée):
-create database
- des master..sp_dpOption sur la-dîte base.

Merci de votre aide.