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

Utilisation Entreprise Manager

6 réponses
Avatar
Toff
Bonjour,

Je suis dans le contexte suivant :

J'ai plusieurs developpeurs qui travaillent sur une instance MSSQL2000 de
developpement.
J'aimerais que chaque dev soit dbo sur les bases concernées par les projets
sur lesquels il travaille.

J'ai paramétré le compte NT comme db_owner mais lorsque l'utilisateur créé
des objets (via l'analyseur de requetes), cela ne créé pas dbo.objet mais
nomducompteNT.objet
Cela est problématique pour l'écriture du code qui s'en suit.
=> j'ai utilisé sp_changedbowner mais cela ne permet de mettre dbo qu'un
seul compte.

Mais dans EM, c'est le bordel...
L'affichage des bases de données prend un temps fou (cela génère d'ailleurs
un nombre d'erreurs énorme dans le journal d'événements).
Ensuite, impossible de créer par exemple une table dans une base ou le user
est dbo => erreur du process... :-((

Seule solution : mettre les developpeurs dans le rôle sysadmin de l'instance
de dev... Du coup, ils peuvent faire tout et n'importe quoi partout.

Comment faut-il paramétrer la sécu pour arriver à faire que les users soient
dbo (plusieurs dbo par bases) et que EM fonctionne correctement ?
(sans mettre les dev dans sysadmin).

Merci d'avance

6 réponses

Avatar
BVesan
Bonjour,
Il faut bien faire la distinction entre le rôle db_owner et l'utilisateur dbo.
dbo est l'utilisateur en base correspondant à tout login possédant le rôle
sysadmin.
db_owner permet de disposer des droits maximum sur la base, et permet
notamment de préfixer un objet par dbo. lors de sa création.
Puisque les développeurs sont db_owner sur leur base, il suffit donc de leur
apprendre à préfixer chaque objet par dbo (que ce soit via le query Analyser
ou l'éditeur de code de Enterprise Manager) à la création. La proc stockée
sp_changeobjectowner permet de "corriger" le propriétaire de tout objet...
Avatar
Toff
Ok pour cela, mais que faire pour les soucis dans EM (voir précédent post)
quand les gens ne sont pas sysadmin ?
Faut-il oublier EM pour les non sysadmin ?


"BVesan" a écrit dans le message de
news:
Bonjour,
Il faut bien faire la distinction entre le rôle db_owner et l'utilisateur


dbo.
dbo est l'utilisateur en base correspondant à tout login possédant le rôle
sysadmin.
db_owner permet de disposer des droits maximum sur la base, et permet
notamment de préfixer un objet par dbo. lors de sa création.
Puisque les développeurs sont db_owner sur leur base, il suffit donc de


leur
apprendre à préfixer chaque objet par dbo (que ce soit via le query


Analyser
ou l'éditeur de code de Enterprise Manager) à la création. La proc stockée
sp_changeobjectowner permet de "corriger" le propriétaire de tout objet...





Avatar
Fred BROUARD
EM est un outil à l'usage du DBA ou du SA, pas des développeurs (dans ton cas)
ni des utilisateurs.

Si tu veut piloter un utilisateur spécifique avec des droits comparable il faut
te créer une petite interface et le tour sera joué.

A +

Toff a écrit:
Bonjour,

Je suis dans le contexte suivant :

J'ai plusieurs developpeurs qui travaillent sur une instance MSSQL2000 de
developpement.
J'aimerais que chaque dev soit dbo sur les bases concernées par les projets
sur lesquels il travaille.

J'ai paramétré le compte NT comme db_owner mais lorsque l'utilisateur créé
des objets (via l'analyseur de requetes), cela ne créé pas dbo.objet mais
nomducompteNT.objet
Cela est problématique pour l'écriture du code qui s'en suit.
=> j'ai utilisé sp_changedbowner mais cela ne permet de mettre dbo qu'un
seul compte.

Mais dans EM, c'est le bordel...
L'affichage des bases de données prend un temps fou (cela génère d'ailleurs
un nombre d'erreurs énorme dans le journal d'événements).
Ensuite, impossible de créer par exemple une table dans une base ou le user
est dbo => erreur du process... :-((

Seule solution : mettre les developpeurs dans le rôle sysadmin de l'instance
de dev... Du coup, ils peuvent faire tout et n'importe quoi partout.

Comment faut-il paramétrer la sécu pour arriver à faire que les users soient
dbo (plusieurs dbo par bases) et que EM fonctionne correctement ?
(sans mettre les dev dans sysadmin).

Merci d'avance





--
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
Toff
Merci des infos.

Pour l'interface, c'est tout vu ! Ca va être désinstallation de EM et bossez
avec l'analyseur de requête les p'tits gars !

a+


"Fred BROUARD" a écrit dans le message de
news:%23OYbcZy%
EM est un outil à l'usage du DBA ou du SA, pas des développeurs (dans ton


cas)
ni des utilisateurs.

Si tu veut piloter un utilisateur spécifique avec des droits comparable il


faut
te créer une petite interface et le tour sera joué.

A +

Toff a écrit:
> Bonjour,
>
> Je suis dans le contexte suivant :
>
> J'ai plusieurs developpeurs qui travaillent sur une instance MSSQL2000


de
> developpement.
> J'aimerais que chaque dev soit dbo sur les bases concernées par les


projets
> sur lesquels il travaille.
>
> J'ai paramétré le compte NT comme db_owner mais lorsque l'utilisateur


créé
> des objets (via l'analyseur de requetes), cela ne créé pas dbo.objet


mais
> nomducompteNT.objet
> Cela est problématique pour l'écriture du code qui s'en suit.
> => j'ai utilisé sp_changedbowner mais cela ne permet de mettre dbo qu'un
> seul compte.
>
> Mais dans EM, c'est le bordel...
> L'affichage des bases de données prend un temps fou (cela génère


d'ailleurs
> un nombre d'erreurs énorme dans le journal d'événements).
> Ensuite, impossible de créer par exemple une table dans une base ou le


user
> est dbo => erreur du process... :-((
>
> Seule solution : mettre les developpeurs dans le rôle sysadmin de


l'instance
> de dev... Du coup, ils peuvent faire tout et n'importe quoi partout.
>
> Comment faut-il paramétrer la sécu pour arriver à faire que les users


soient
> dbo (plusieurs dbo par bases) et que EM fonctionne correctement ?
> (sans mettre les dev dans sysadmin).
>
> Merci d'avance
>
>

--
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
Fred BROUARD
Toff a écrit:
Merci des infos.

Pour l'interface, c'est tout vu ! Ca va être désinstallation de EM et bossez
avec l'analyseur de requête les p'tits gars !



C'est ce qui est le mieux, mais dans QA faire gaffe au nom d'utilisateur
emprunté pour créer les objets.

A +



a+


"Fred BROUARD" a écrit dans le message de
news:%23OYbcZy%

EM est un outil à l'usage du DBA ou du SA, pas des développeurs (dans ton



cas)

ni des utilisateurs.

Si tu veut piloter un utilisateur spécifique avec des droits comparable il



faut

te créer une petite interface et le tour sera joué.

A +

Toff a écrit:

Bonjour,

Je suis dans le contexte suivant :

J'ai plusieurs developpeurs qui travaillent sur une instance MSSQL2000





de

developpement.
J'aimerais que chaque dev soit dbo sur les bases concernées par les





projets

sur lesquels il travaille.

J'ai paramétré le compte NT comme db_owner mais lorsque l'utilisateur





créé

des objets (via l'analyseur de requetes), cela ne créé pas dbo.objet





mais

nomducompteNT.objet
Cela est problématique pour l'écriture du code qui s'en suit.
=> j'ai utilisé sp_changedbowner mais cela ne permet de mettre dbo qu'un
seul compte.

Mais dans EM, c'est le bordel...
L'affichage des bases de données prend un temps fou (cela génère





d'ailleurs

un nombre d'erreurs énorme dans le journal d'événements).
Ensuite, impossible de créer par exemple une table dans une base ou le





user

est dbo => erreur du process... :-((

Seule solution : mettre les developpeurs dans le rôle sysadmin de





l'instance

de dev... Du coup, ils peuvent faire tout et n'importe quoi partout.

Comment faut-il paramétrer la sécu pour arriver à faire que les users





soient

dbo (plusieurs dbo par bases) et que EM fonctionne correctement ?
(sans mettre les dev dans sysadmin).

Merci d'avance





--
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 ***********************









--
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
Patrice
De mémoire les procédures stockées permettent de faire des choses que EM ne
permet pas. Je crois me notamment me souvenir que sp_addalias (qui est
considéré comme obsolète) permettrait de faire ce que tu souhaites (mapper
des comptes sur dbo).

--

"Toff" <redtech(enlever cette parenthèse)@free.fr> a écrit dans le message
de news:%23Wu2l4y%
Merci des infos.

Pour l'interface, c'est tout vu ! Ca va être désinstallation de EM et


bossez
avec l'analyseur de requête les p'tits gars !

a+


"Fred BROUARD" a écrit dans le message de
news:%23OYbcZy%
> EM est un outil à l'usage du DBA ou du SA, pas des développeurs (dans


ton
cas)
> ni des utilisateurs.
>
> Si tu veut piloter un utilisateur spécifique avec des droits comparable


il
faut
> te créer une petite interface et le tour sera joué.
>
> A +
>
> Toff a écrit:
> > Bonjour,
> >
> > Je suis dans le contexte suivant :
> >
> > J'ai plusieurs developpeurs qui travaillent sur une instance MSSQL2000
de
> > developpement.
> > J'aimerais que chaque dev soit dbo sur les bases concernées par les
projets
> > sur lesquels il travaille.
> >
> > J'ai paramétré le compte NT comme db_owner mais lorsque l'utilisateur
créé
> > des objets (via l'analyseur de requetes), cela ne créé pas dbo.objet
mais
> > nomducompteNT.objet
> > Cela est problématique pour l'écriture du code qui s'en suit.
> > => j'ai utilisé sp_changedbowner mais cela ne permet de mettre dbo


qu'un
> > seul compte.
> >
> > Mais dans EM, c'est le bordel...
> > L'affichage des bases de données prend un temps fou (cela génère
d'ailleurs
> > un nombre d'erreurs énorme dans le journal d'événements).
> > Ensuite, impossible de créer par exemple une table dans une base ou le
user
> > est dbo => erreur du process... :-((
> >
> > Seule solution : mettre les developpeurs dans le rôle sysadmin de
l'instance
> > de dev... Du coup, ils peuvent faire tout et n'importe quoi partout.
> >
> > Comment faut-il paramétrer la sécu pour arriver à faire que les users
soient
> > dbo (plusieurs dbo par bases) et que EM fonctionne correctement ?
> > (sans mettre les dev dans sysadmin).
> >
> > Merci d'avance
> >
> >
>
> --
> 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 ***********************
>