OVH Cloud OVH Cloud

Upgrade serveur vers 2005 et utilisateurs

8 réponses
Avatar
John_Bour
Salut a tous,

Je bosse sur une appli commencée sous SQL 97 et dont les utilisateurs sont
recuperés directement au niveau des logins de la base.
Ca marche bien sous SQL 2K mais apparement il y a un truc que je n'ai pas
suivi sur SQL 2005 car je n'arrive plus a les lire.

Le hic est que je ne suis pas le developpeur de l'appli (societe tierce) et
que je n'ai pas reussi a voir comment les infos etaient recuperées.

Si vous aviez une solution pour permettre la gestion des users (et je pense
des schemas) avec 2005 de la meme façon que 2000, ça me permettrait d'assurer
la transition sur la nouvelle appli en preparation (donc environ 1 an)

8 réponses

Avatar
Patrice
Toujours indiquer la manip exacte effectuée (exec sp_helpuser ?) et l'erreur
obtenue SVP...

Si la base est passée d'un serveur à l'autre, peut-être un problème de
"mappage" (cf sp_change_users_login)

--
Patrice

"John_Bour" a écrit dans le message de
news:
Salut a tous,

Je bosse sur une appli commencée sous SQL 97 et dont les utilisateurs sont
recuperés directement au niveau des logins de la base.
Ca marche bien sous SQL 2K mais apparement il y a un truc que je n'ai pas
suivi sur SQL 2005 car je n'arrive plus a les lire.

Le hic est que je ne suis pas le developpeur de l'appli (societe tierce)


et
que je n'ai pas reussi a voir comment les infos etaient recuperées.

Si vous aviez une solution pour permettre la gestion des users (et je


pense
des schemas) avec 2005 de la meme façon que 2000, ça me permettrait


d'assurer
la transition sur la nouvelle appli en preparation (donc environ 1 an)


Avatar
John_Bour
Salut,

Ce n'est pas un probleme lié au code ou a SQL mais plutot a la gestion des
users sous 2005.
Mon idée est que le logiciel recupere la liste des logins d'une façon qui
etait possible sous SQL 97 et qui ne l'est plus sous 2005.

Maintenant je cherche juste a comprendre les differences a ce niveau ;)

"Patrice" wrote:

Toujours indiquer la manip exacte effectuée (exec sp_helpuser ?) et l'erreur
obtenue SVP...

Si la base est passée d'un serveur à l'autre, peut-être un problème de
"mappage" (cf sp_change_users_login)

--
Patrice

"John_Bour" a écrit dans le message de
news:
> Salut a tous,
>
> Je bosse sur une appli commencée sous SQL 97 et dont les utilisateurs sont
> recuperés directement au niveau des logins de la base.
> Ca marche bien sous SQL 2K mais apparement il y a un truc que je n'ai pas
> suivi sur SQL 2005 car je n'arrive plus a les lire.
>
> Le hic est que je ne suis pas le developpeur de l'appli (societe tierce)
et
> que je n'ai pas reussi a voir comment les infos etaient recuperées.
>
> Si vous aviez une solution pour permettre la gestion des users (et je
pense
> des schemas) avec 2005 de la meme façon que 2000, ça me permettrait
d'assurer
> la transition sur la nouvelle appli en preparation (donc environ 1 an)





Avatar
Patrice
SQL 97 ? Est-ce une ancienne version de SQL Server (ce que j'appelle la
version 7.0 ?) ?

Cela va être bien compliqué de t'aider si l'on a aucune idée de ce que le
logiciel fait et de ce qui ne marche pas !!!???

Si je comprends bien tu as un logiciel qui créé une liste des utilisateurs
(ceux déclarés dans la base via SQL ?) sans que tu saches comment ?
Essaie peut-être de faire une trace SQL sur la version qui marche au moment
où tu fais la manip pour voir qu'elle est la requête envoyée au serveur.
Après tu pourras essayer la même chose sur SQL Server 2005 pour voir.

Il utilise peut-être une table système qui a été mise à jour. Tu n'as pas
dit non plus si la base a été restaurée d'un serveur vers un autre, si la
liste des utilisateurs est bien la liste des utilisateurs de la base de
donnée (ou une liste maintenue par l'application). Si c'est le premier cas,
essaie de creuser tout de même un éventuel problème de mappage
(sp_change_users_login 'Report' pour vérifier que tous les utilisateurs de
la base sont bien mappés à une connexion SQL Server).

Enfin que donne par exemple "exec sp_helpuser" ? Une liste qui te semble
correspondre à ce que tu cherches ?

Le plus simple serait peut-être de contacter l'éditeur de ce logiciel ?

Patrice
--

"John_Bour" a écrit dans le message de
news:
Salut,

Ce n'est pas un probleme lié au code ou a SQL mais plutot a la gestion des
users sous 2005.
Mon idée est que le logiciel recupere la liste des logins d'une façon qui
etait possible sous SQL 97 et qui ne l'est plus sous 2005.

Maintenant je cherche juste a comprendre les differences a ce niveau ;)

"Patrice" wrote:

> Toujours indiquer la manip exacte effectuée (exec sp_helpuser ?) et


l'erreur
> obtenue SVP...
>
> Si la base est passée d'un serveur à l'autre, peut-être un problème de
> "mappage" (cf sp_change_users_login)
>
> --
> Patrice
>
> "John_Bour" a écrit dans le


message de
> news:
> > Salut a tous,
> >
> > Je bosse sur une appli commencée sous SQL 97 et dont les utilisateurs


sont
> > recuperés directement au niveau des logins de la base.
> > Ca marche bien sous SQL 2K mais apparement il y a un truc que je n'ai


pas
> > suivi sur SQL 2005 car je n'arrive plus a les lire.
> >
> > Le hic est que je ne suis pas le developpeur de l'appli (societe


tierce)
> et
> > que je n'ai pas reussi a voir comment les infos etaient recuperées.
> >
> > Si vous aviez une solution pour permettre la gestion des users (et je
> pense
> > des schemas) avec 2005 de la meme façon que 2000, ça me permettrait
> d'assurer
> > la transition sur la nouvelle appli en preparation (donc environ 1 an)
>
>
>


Avatar
Fred BROUARD
Les connexions sont stockées dans la base master. Génère un script pour recréer
les connexions...

Sinon explique ton problème plus en avant. Ce que tu faisais et qui marchais et
ce qui ne marche plus actuellement.

A +

John_Bour a écrit:
Salut a tous,

Je bosse sur une appli commencée sous SQL 97 et dont les utilisateurs sont
recuperés directement au niveau des logins de la base.
Ca marche bien sous SQL 2K mais apparement il y a un truc que je n'ai pas
suivi sur SQL 2005 car je n'arrive plus a les lire.

Le hic est que je ne suis pas le developpeur de l'appli (societe tierce) et
que je n'ai pas reussi a voir comment les infos etaient recuperées.

Si vous aviez une solution pour permettre la gestion des users (et je pense
des schemas) avec 2005 de la meme façon que 2000, ça me permettrait d'assurer
la transition sur la nouvelle appli en preparation (donc environ 1 an)



--
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
John_Bour
Salut,

Comme je n'avais pas de retour du presta sur le developpement, je me suis
plongé dans le code (un beau bordel) et j'ai trouvé mon probleme...

L'appli recupere la liste des utilisateurs dans la table sysusers qui existe
bien sous SQL7 et 2000 mais pas sous 2005 puisque dans cette version, tout
est exporté dans une nouvelle arborescence securité.

Mon probleme est donc de linker cette arborescence securité pour la
recuperer en changeant le moins possible le code car tous les utilisateurs ne
sont pas sous SQL 2005.

Voili Voila
Avatar
Patrice
D'une façon générale utiliser les tables systèmes est à éviter car elles
sont susceptibles d'évolution... Voir plutôt une procédure stockée
équivalente comme sp_helpuser, sp_helprole etc...selon le besoin exact...

Dans le pire des cas, tu peux créer ta propre vue ce qui permet au moins
d'ajuster simplement cette vue en fonction de la version au lieu de taper
directement dans les tables systèmes (c'est peut-être ce qui pourrait
nécessiter le moins de modification dans ton cas pour régler rapidement le
problème avant de voir plus avant)...

--
Patrice

"John_Bour" a écrit dans le message de
news:
Salut,

Comme je n'avais pas de retour du presta sur le developpement, je me suis
plongé dans le code (un beau bordel) et j'ai trouvé mon probleme...

L'appli recupere la liste des utilisateurs dans la table sysusers qui


existe
bien sous SQL7 et 2000 mais pas sous 2005 puisque dans cette version, tout
est exporté dans une nouvelle arborescence securité.

Mon probleme est donc de linker cette arborescence securité pour la
recuperer en changeant le moins possible le code car tous les utilisateurs


ne
sont pas sous SQL 2005.

Voili Voila


Avatar
Fred BROUARD
bonjour,

Patrice a écrit:
D'une façon générale utiliser les tables systèmes est à éviter car elles
sont susceptibles d'évolution... Voir plutôt une procédure stockée
équivalente comme sp_helpuser, sp_helprole etc...selon le besoin exact...



Je rejoint oh combien ce point de vue : NE JAMAIS UTILISER LES TABLES SYSTEMES
DANS LE DEV ! Je me tue à le dire en formation et à le mettre noir sur blanc
dans mes audits !


Dans le pire des cas, tu peux créer ta propre vue ce qui permet au moins
d'ajuster simplement cette vue en fonction de la version au lieu de taper
directement dans les tables systèmes (c'est peut-être ce qui pourrait
nécessiter le moins de modification dans ton cas pour régler rapidement le
problème avant de voir plus avant)...



inutile de réinventer la roue ! Les vues d'information de schéma sont normative
(donc portable) et ind2pendante de tout SGBDR :

SELECT GRANTOR, GRANTEE, TABLE_CATALOG, TABLE_SCHEMA,
TABLE_NAME, NULL AS COLUMN_NAME, PRIVILEGE_TYPE, IS_GRANTABLE
FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES
UNION
SELECT GRANTOR, GRANTEE, TABLE_CATALOG, TABLE_SCHEMA,
TABLE_NAME, COLUMN_NAME, PRIVILEGE_TYPE, IS_GRANTABLE
FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES

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
John_Bour
Merci beaucoup :D

De toutes façons l'appli va etre reecrite car tout est du meme tonneau mais
ça me permettra de pouvoir temporiser plus sereinement ;)