OVH Cloud OVH Cloud

Modifier une procédure stockée sans la compiler

4 réponses
Avatar
Christelle
Bonjour,

je souhaite modifier une procédure stockée SQL par une application avec un
utilisateur qui n'a pas les droits d'exécuter les instructions contenues dans
la procédure.
Quand je fais ça, j'ai une erreur (la même que si j'essayais d'exécuter la
procédure).
Savez-vous s'il est possible de modifier une procédure par l'instruction
ALTER PROCEDURE sans la compiler ?

Merci de votre aide
Christelle

4 réponses

Avatar
Med Bouchenafa
Pourquoi modifier en erreur une SP?
Même si tu réussis à trouver l'astuce qui permet de la sauvegarder, elle
n'exécutera pas la prochaine fois que t'en auras besoin
Je ne vois pas du tout l'interêt d'une telle manipulation
A moins que je n'ai pas compris ta demande et auquel cas pourras-tu
détailler un peu plus

--
Bien cordialement
Med Bouchenafa

"Christelle" a écrit dans le message
de news:
Bonjour,

je souhaite modifier une procédure stockée SQL par une application avec un
utilisateur qui n'a pas les droits d'exécuter les instructions contenues
dans
la procédure.
Quand je fais ça, j'ai une erreur (la même que si j'essayais d'exécuter la
procédure).
Savez-vous s'il est possible de modifier une procédure par l'instruction
ALTER PROCEDURE sans la compiler ?

Merci de votre aide
Christelle


Avatar
franck
Merci pour ta réponse.
En fait j'ai 2 bases de même structure et la seule différence est au niveau
des procédures stockées, l'une a été mise à jour régulièrement et l'autre non
(depuis plus de 6 mois). Je voudrais en fait développer une moulinette qui
m'indiquerait quelles sont les procédures différentes ou manquantes (il y a
plus de 100 procédures stockées, plutôt galère à le faire à la main).

Merci

Franck

"Med Bouchenafa" a écrit :

Pourquoi modifier en erreur une SP?
Même si tu réussis à trouver l'astuce qui permet de la sauvegarder, elle
n'exécutera pas la prochaine fois que t'en auras besoin
Je ne vois pas du tout l'interêt d'une telle manipulation
A moins que je n'ai pas compris ta demande et auquel cas pourras-tu
détailler un peu plus

--
Bien cordialement
Med Bouchenafa

"Christelle" a écrit dans le message
de news:
> Bonjour,
>
> je souhaite modifier une procédure stockée SQL par une application avec un
> utilisateur qui n'a pas les droits d'exécuter les instructions contenues
> dans
> la procédure.
> Quand je fais ça, j'ai une erreur (la même que si j'essayais d'exécuter la
> procédure).
> Savez-vous s'il est possible de modifier une procédure par l'instruction
> ALTER PROCEDURE sans la compiler ?
>
> Merci de votre aide
> Christelle





Avatar
Jean-Nicolas BERGER
Pour ce besoin-là, le plus simple est à mon sens d'utiliser l'Enterprise
Manager pour générer sur chacune des bases le script SQL de création des
procédures stockées, puis de comparer les deux fichiers texte en résultant.
JN.


"franck" a écrit dans le message de news:

Merci pour ta réponse.
En fait j'ai 2 bases de même structure et la seule différence est au
niveau
des procédures stockées, l'une a été mise à jour régulièrement et l'autre
non
(depuis plus de 6 mois). Je voudrais en fait développer une moulinette qui
m'indiquerait quelles sont les procédures différentes ou manquantes (il y
a
plus de 100 procédures stockées, plutôt galère à le faire à la main).

Merci

Franck

"Med Bouchenafa" a écrit :

Pourquoi modifier en erreur une SP?
Même si tu réussis à trouver l'astuce qui permet de la sauvegarder, elle
n'exécutera pas la prochaine fois que t'en auras besoin
Je ne vois pas du tout l'interêt d'une telle manipulation
A moins que je n'ai pas compris ta demande et auquel cas pourras-tu
détailler un peu plus

--
Bien cordialement
Med Bouchenafa

"Christelle" a écrit dans le
message
de news:
> Bonjour,
>
> je souhaite modifier une procédure stockée SQL par une application avec
> un
> utilisateur qui n'a pas les droits d'exécuter les instructions
> contenues
> dans
> la procédure.
> Quand je fais ça, j'ai une erreur (la même que si j'essayais d'exécuter
> la
> procédure).
> Savez-vous s'il est possible de modifier une procédure par
> l'instruction
> ALTER PROCEDURE sans la compiler ?
>
> Merci de votre aide
> Christelle







Avatar
Philippe T [MS]
Bonjour,

Avec ce script, vous récupérez le code des procédures stockées d'une base de
données :

SELECT SysObjects.name, SysComments.text
FROM SysObjects
INNER JOIN SysComments ON SysObjects.id = SysComments.id
WHERE xtype = 'P'

Il ne vous reste plus qu'à le comparer entre deux bases comme quelque chose
comme ça:

SELECT * FROM
(
SELECT SysObjects.name, SysComments.colid, SysComments.text
FROM db1.dbo.SysObjects
INNER JOIN db1.dbo.SysComments ON SysObjects.id = SysComments.id
WHERE xtype = 'P'
) db1
INNER JOIN
(
SELECT SysObjects.name, SysComments.colid, SysComments.text
FROM db2.dbo.SysObjects
INNER JOIN db2.dbo.SysComments ON SysObjects.id = SysComments.id
WHERE xtype = 'P'
) db2
ON db1.name = db2.name AND db1.colid = db2.colid
WHERE db1.text = db2.text

Et hop :-)

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"franck" wrote in message
news:
Merci pour ta réponse.
En fait j'ai 2 bases de même structure et la seule différence est au
niveau
des procédures stockées, l'une a été mise à jour régulièrement et l'autre
non
(depuis plus de 6 mois). Je voudrais en fait développer une moulinette qui
m'indiquerait quelles sont les procédures différentes ou manquantes (il y
a
plus de 100 procédures stockées, plutôt galère à le faire à la main).

Merci

Franck

"Med Bouchenafa" a écrit :

Pourquoi modifier en erreur une SP?
Même si tu réussis à trouver l'astuce qui permet de la sauvegarder, elle
n'exécutera pas la prochaine fois que t'en auras besoin
Je ne vois pas du tout l'interêt d'une telle manipulation
A moins que je n'ai pas compris ta demande et auquel cas pourras-tu
détailler un peu plus

--
Bien cordialement
Med Bouchenafa

"Christelle" a écrit dans le
message
de news:
> Bonjour,
>
> je souhaite modifier une procédure stockée SQL par une application avec
> un
> utilisateur qui n'a pas les droits d'exécuter les instructions
> contenues
> dans
> la procédure.
> Quand je fais ça, j'ai une erreur (la même que si j'essayais d'exécuter
> la
> procédure).
> Savez-vous s'il est possible de modifier une procédure par
> l'instruction
> ALTER PROCEDURE sans la compiler ?
>
> Merci de votre aide
> Christelle