Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1479 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  virer un user dans une base SQLserver

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

virer un user dans une base SQLserver

n°273147
zetoune
Posté le 19-12-2002 à 17:16:15  profilanswer
 

j'essaie d'enlever un user d'une base de donnée.  
Mais il me dit "The selected user cannot be dropped because the user owns objects"
 
j'ai pourtant effacé le user.. dans "security" et j'ai décoché "db_owner"
 
comment je peux faire ?

mood
Publicité
Posté le 19-12-2002 à 17:16:15  profilanswer
 

n°273153
HappyHarry
Posté le 19-12-2002 à 17:21:49  profilanswer
 

zetoune a écrit :

j'essaie d'enlever un user d'une base de donnée.  
Mais il me dit "The selected user cannot be dropped because the user owns objects"
 
j'ai pourtant effacé le user.. dans "security" et j'ai décoché "db_owner"
 
comment je peux faire ?
 


 
bah d'autres objets doivent lui appartenir ?

n°273156
zetoune
Posté le 19-12-2002 à 17:23:27  profilanswer
 

ben j'en trouve pas !

n°273161
HappyHarry
Posté le 19-12-2002 à 17:25:07  profilanswer
 

contraintes ? vues ? procédures stockées ?

n°273162
zetoune
Posté le 19-12-2002 à 17:28:05  profilanswer
 

ouais partout.. y a rien . c'est bizarre

n°273546
sebsauvage
Posté le 20-12-2002 à 10:16:40  profilanswer
 

Il lui reste peut-être des packages DTS ?
 
Sinon, tu peux générer un script de chacune des bases (avec
toutes les options), puis rechercher le nom de cet utilisateur dans les scripts générés.
 
Sinon on doit pouvoir s'en sortir avec un script SQL qui va lire les tables systèmes (j'ai pas le temps de faire ça, désolé).

n°273585
cyp en for​sse
Toggenburg enthusiast
Posté le 20-12-2002 à 10:56:36  profilanswer
 

Non non.
 
Ce message apparait quand tu tente de supprimer le user qui a servi a créer des objets (tables, vues, procédures).
 
Il n'est normalement pas possible de faire cette suppression.
 
Pourquoi est tu dans un tel cas ?
 
C'est suite à une resto de DB sur un autre serveur SQL ?
 
Sinon, une des solutions consiste à utiliser une des procédure stockée système pour virer le user dans la table système "sysusers".
 
Je peux te donner la syntaxe des commande, mais dis moi d'abord  dans quel cas tu es, on risque de rendre la DB inutilisable.

n°273782
zetoune
Posté le 20-12-2002 à 14:58:50  profilanswer
 

ouais... en fait c'est exactement ca..
c'est une DB de production... et que je voulais a jour par rapport a la DB originale. J'ai donc fait un restore de la DB originale sur la Db de prod.. et voilà ... le message qui apparait..

n°273978
cyp en for​sse
Toggenburg enthusiast
Posté le 20-12-2002 à 17:21:10  profilanswer
 

Bon, alors :
 
Si tu te retrouve dans le cas d'un user déclaré sur ta DB restorée qui porte le même nom qu'un des user déclaré dans le conteneur "Sécurité" du SGBD mais dont le SID ne correspond pas. :
(Si c'est un autre cas, explique moi mieux ton pb)
 
Sous l'analyseur de requète (positionné sur ta DB) :
 
EXEC sp_change_users_login 'Report'
 
Là, tu auras comme résultat ton utilisateur dont le SID ne correspond pas à un compte de sécurité suivi du SID. Puis :
 
EXEC sp_change_users_login 'Update_One', 'NOM_UTILISATEUR','NOM_UTILISATEUR'
 
NOM_UTILISATEUR etant ton user unliké.
 
Mais attention, si tu n'es pas dans le cas que j'ai décrit en haut, N'ESSAYE PAS CE QUE JE VIENS DE TE DONNER !!!
 
[MODE J'Y SUIS POUR RIEN ON]
Je decline toute responsabilité dans le plantage de la base de prod :P
[MODE J'Y SUIS POUR RIEN OFF]
 
 
 
 
 :pt1cable:

n°273992
zetoune
Posté le 20-12-2002 à 17:37:30  profilanswer
 

ouais... c'est bien ce cas la..
et ca marche .. MERCI... cool.
...

mood
Publicité
Posté le 20-12-2002 à 17:37:30  profilanswer
 

n°274006
cyp en for​sse
Toggenburg enthusiast
Posté le 20-12-2002 à 17:50:49  profilanswer
 

Cette opération est à faire à chaque restore de DB.

n°274007
zetoune
Posté le 20-12-2002 à 17:52:59  profilanswer
 

ouais j avais cru comprendre :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  virer un user dans une base SQLserver

 

Sujets relatifs
[Mysql] limite par defaut d'une connexion a la base ?ident failed for user machin?? d'où ça vient (Postgres inside)[résolu]
formater un résultat d'une requete SQL dans SQLServercreer un arbre XML a partir d'une base oracle en java
[PHP MYSQL] Trier une table dans la base[HTML] virer 100% les bordures dans les frames !!
Se connecter à une base d'un serveur Web ? -> RDS InsideCode qui permet de virer la barre d'ascenseur à droite inutile. OK
Type de base de donnéesActions réalisées sur une base Access
Plus de sujets relatifs à : virer un user dans une base SQLserver


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR