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 :

PS sur tables de schémas par défaut


Sujet :

MS SQL Server

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut PS sur tables de schémas par défaut
    Bonjour,

    Je souhaiterai sur une même instance SQLServer, utiliser des PS communes pour attaquer des données d'utilisateurs bien séparées (pb de confidentialité)
    - soit dans des bases différentes,
    - soit dans des schémas différents.
    - si vous avez une autre idée...
    Le 1er cas me parait impossible, alors j'ai essayé le 2° cas.
    Je crée les mêmes tables pour des utilisateurs différents dans leur propre schémas (les uns ne pouvant pas voir les tables des autres).
    Dans mes PS, je référence les tables avec la syntaxe suivante : "MaBase..MaTable", en omettant le nom du schéma pour que ce soit le schéma par défaut qui soit utilisé.
    Mes PS étant communes à tous les utilisateurs, je les ai créées dans le schéma DBO (avec droit d'exécution pour mes utilisateurs).
    Malheureusement, à l'exécution, la PS ne voit pas ma table.
    Msg 208, Level 16, State 1, Procedure LCF_PS1, Line 8
    Nom d'objet 'MaBase..MaTable' non valide.


    J'ai l'impression que la PS ne va pas chercher dans le schéma de l'utilisateur qui la lance, mais dans le schéma du propriétaire de la PS (soit, DBO).

    Quelqun peut-il confirmer ma théorie ?
    Quelqun aurait une autre idée pour mon problème ?

    Merci à tous,
    Cyrille.

  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
    21 772
    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 : 21 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    C'est votre conception de BD qui n'est pas bonne. Inutile de créer autant de base ou de schéma dans une base que d'utilisateurs. Le plus simple est de tout mettre au niveau d'une seule et même table et gérer votre multiplicité d'acteur cloisonés par des vues en les séparant les uns des autres par un critère sur une colonne d'identifiant d'utilisateur (WITH CHECK OPTION). Vous n'aurez plus qu'a octroyer des privilèges sur vos vues et vos procédures stockées n'aurant pas à être génériques.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/11/2011, 18h57
  2. Redirection sur un virtual host par défaut
    Par dede92 dans le forum Apache
    Réponses: 16
    Dernier message: 26/02/2010, 15h58
  3. imprimer un PDF sur une imprimante non par défaut
    Par bremer dans le forum Langage
    Réponses: 5
    Dernier message: 25/12/2007, 22h46
  4. Valeur par défaut dans une table objet
    Par Ricky81 dans le forum Oracle
    Réponses: 12
    Dernier message: 18/03/2004, 11h52

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