Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/11/2006, 16h47   #1
HNT
Membre confirmé
 
Avatar de HNT
 
Étudiant
Inscription : juin 2005
Messages : 448
Détails du profil
Informations personnelles :
Âge : 24
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 448
Points : 256
Points : 256
Envoyer un message via MSN à HNT
Par défaut [ASE]Droit d'utilisateur sur des bdd

Bonjour,

Je sais que cette question peut paraitre un peut bête mais comment faire pour définir les droits d'un utilisateur (sous sybase ASE 15) comme suis :
- Il doit pouvoir créer de nouvelle DB commencant systématiquement par nicolas_ et doit pouvoir les droper et faire ce qu'il veut dessus.
- Il ne peut avoir aucun droit sur les autres DB de Sybase ou de tout autre utilisateur.

Merci d'avance,
__________________
The box said : "Requires windows 95, NT or better" so I installed Linux.
HNT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2006, 08h41   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Pour pouvoir créer une nouvelle BD il faut avoir les droits "sa_role" - et une fois qu'on a ce droit on peut évidemment tout faire.

Donc il s'agit de trouver un moyen de donner ce droit de façon très selective. A priori je ne vois que la creation d'une procédure stockée qui créerait ces nouvelles bases. Rob Vershoor a decrit une technique qui consiste à créer un role spécial pour donner le role sa_role de façon limitée (voir http://www.sypron.nl/grant_sa.html). On pourrait combiner cette technique avec une proc qui créé la nouvelle base, qqch comme:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
CREATE proc create_base
(@nom varchar(20)
, @taille int
, @device varchar(20))
AS
declare @cmd varchar(100)
        , @base varchar(30)
 
-- ici on met le role sa_role, via la technique de Rob V.
...
 
-- ensuite on créé la base avec un execute immediate:
SELECT @base='nicolas_'+@base
 
SELECT @cmd="create database "+@base+" on "
      +@device+"="+convert(varchar(5), @taille) + "M"
 
exec (@cmd)
 
exec @base..sp_changedbowner 'nicolas'
Evidemment il faudrait probablement ajouter d'autres options (comme le LOG ON ...), mais cela donne peut-être suffisamment d'idées pour avancer?

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h33.


 
 
 
 
Partenaires

Hébergement Web