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 :

Procédures stockées trouvées dans Sysobjects et Sys.Sysobjects [2014]


Sujet :

MS SQL Server

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Procédures stockées trouvées dans Sysobjects et Sys.Sysobjects
    Bonjour a tous,
    En voulant faire le ménage des comptes utilisateurs d'une base client, je vérifiais si certains objets appartenait aux utilisateurs à supprimer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select O.* from sys.sysobjects O inner join sysusers U on O.uid=U.uid
    where U.name = '[domaine\username]
    j'ai trouvé 2 procédures stockées appartenant a un user absent depuis plusieurs mois. Ces procédures ont bien été créées mais par un autre utilisateur
    Bref, ce n'est pas trop grave, mais je me demande si l'un d'entre vous a déjà observé ce problème "d'objet crée avec un mauvais utilisateur"
    Merci de votre retour.

    Fred

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Resolu...
    En fait, après lecture de la doc, il se trouve que l'Uid de la table sysobjects correspond à l'id du schéma et non à l'Id de l'utilisateur, pour obtenir la liste des users possédant des objets, il fallait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select U.name from sysobjects O 
    inner join sys.schemas S on O.uid = S.schema_id
    inner join sysusers U on S.principal_id=U.uid
    group by U.name

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonojur,

    Attention, certaines des tables système que vous avez utilisées sont dépréciées depuis la sortie de SQL Server 2005.
    Vous pouvez donc remplacer sysobjects par sys.objects et sysusers par sys.database_principals.

    @++

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Merci Nicolas
    Merci pour ce complément de réponse Nicolas, c'est toi le meilleur ! Les mauvaises habitudes d'écriture restent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel concurent de procedure stocké oracle dans mon programme
    Par ziss dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 19/10/2015, 14h22
  2. Appel de procedure stocké oracle dans zend framework
    Par Essedik dans le forum Zend_Db
    Réponses: 3
    Dernier message: 20/06/2014, 09h04
  3. executer une procedure stocké Oracle dans Perl
    Par makohsarah dans le forum SGBD
    Réponses: 2
    Dernier message: 29/04/2009, 18h15
  4. Réponses: 4
    Dernier message: 07/02/2008, 11h56
  5. Procedure stockée appelée dans une autre
    Par kazoumoulox dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/05/2007, 09h38

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