IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQLEXP2005] Migration sql2000/sqlexp2005 => Suppression utilisateur impossible


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Par défaut [SQLEXP2005] Migration sql2000/sqlexp2005 => Suppression utilisateur impossible
    Je viens d'installer un nouveau server avec sql server 2005 express with advanced services
    J'y attache une base 'dbtest' créer precedemment sur un sql srv 2000.

    Jusque ici tout va bien, maitenant je souhaites supprimer un utilisateur de cette base et voici ce que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    > USE dbtest
    > GO
    > DROP USER user1
    > GO
     
      Message 15284, niveau 16, état 1, serveur PCTEST\SQLEXPRESS, ligne 1
      L'entité de sécurité de la base de données a accordé ou refusé des
      autorisations à des objets dans la base de données et ne peut pas être
      supprimée.
    Comment resoudre ce probleme ?

    J'ai fait plusieurs recherche avant de venir vous voir...
    A ce que j'ai compris (j'suis loin d'etre un expert) cela viens du fait que sur les versions anterieures à 2005 les utilisateurs etait lies aux objets (proprietaires, droits) ce qui n'est plus le cas avec 2005...

    Mon erreur viendrai donc du fait que mon utilisateur importé depuis 2000 est lié a des objets sur la base... et que par consequent je ne peux pas le supprimer tant que ces liens sont présents...

    La solution consisterai donc a supprimer ces liens utilisateur / objet afin que je puisse dropper mon utilisateur sans erreur.

    Le probleme c'est que je ne sais pas a quels objets l'utilisateur est lié, ni comment gerer ces liaisons

    Donc en fait j'aimerai savoir si il est possible de faire une requete qui me retourne les objets avec qui l'utilisateur 'dbtest' est lié, ainsi que la commande pour supprimer ces liens utilsateur / objet afin de pouvoir supprimer cet utilisateur tranquillement, et de profiter pleinement de cette nouveautés de 2005...

    Une idée?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    Soit vous avez des droits explicites (GRANT) il faut donc les révoquer.

    Soit certains schéma sont propriété de cet utilisateur auquel cas il faut supprimer les objets relevant de ce propriétaire.

    La norme SQL impose :
    1) la base de données appelée CATALOG
    2) dans la base des schéma nommés SCHEMA
    3) dans chaque SCHEMA des objets comme des tables, des vues.

    Les schéma sont obligatoirement liés à un utilisateur SQL qui est le propriétaire du schéma.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Par défaut
    Justement comment connaitre ces objets sur lequel l'utilisateur, que je veux supprimer, a des droits ?

    Et si certain schema sont propriété de cet utilisateur n'y pa t'il pas moyen de changer le propriétaire plustot que de supprimer l'objet en question?

    Les schéma sont obligatoirement liés à un utilisateur SQL qui est le propriétaire du schéma.
    Pourtant l'un des atout mis en avant par microsoft sur la version 2005 de sql serveur est :
    Séparation des utilisateurs et du schéma (source)
    SQL Server 2005 simplifie l'administration de la sécurité en supprimant le lien implicite entre les utilisateurs et les objets de qu'ils possèdent. Par exemple, dans les versions précédentes de SQL Server, si vous vouliez supprimer un utilisateur, vous deviez d'abord supprimer ou réassigner les relations d'appartenance pour tous les objets de base de données dont un utilisateur particulier était propriétaire, ce qui compliquait considérablement le processus et pouvait avoir un impact sur un nombre important d'applications. Avec le nouveau modèle, supprimer des utilisateurs ne requiert plus de modifier des applications.

    En tout cas merci pour votre réactivité.

    @+

Discussions similaires

  1. Migration SQL2000 vers SQL2005
    Par dahu17 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/02/2007, 10h42
  2. [MySQL] Suppression utilisateur d'une table
    Par djinko dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/12/2006, 15h50
  3. [MySQL] Suppression Utilisateurs de la BDD
    Par djinko dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/11/2006, 08h30
  4. [sqlExpress2005] création utilisateur impossible
    Par cbleas dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/10/2006, 13h21
  5. Réponses: 1
    Dernier message: 14/12/2005, 01h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo