Comment donner des droits dbo dans un schéma spécifique ?
Le db_owner, comme son nom l'indique, donne des droits au niveau de la DB, donc on est un cran au dessous.
J'aimerais qu'un utilisateur ne puisse accéder qu'à un schéma. Comment agir ?
Version imprimable
Comment donner des droits dbo dans un schéma spécifique ?
Le db_owner, comme son nom l'indique, donne des droits au niveau de la DB, donc on est un cran au dessous.
J'aimerais qu'un utilisateur ne puisse accéder qu'à un schéma. Comment agir ?
Code:GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO USER_X;
Merci Frédéric, mais cela ne donnera que les droits DML. Ce que je souhaites principalement, ce sont les DDL/DCL.
Mais mon message n'était pas clair : j'aimerai qu'un développeur ne puisse modifier la structure des objets que d'un schéma.
??Code:GRANT ALTER ON SCHEMA xxx TO xxx
Plus exactement :
Code:GRANT ALTER ON SCHEMA::dbo TO USER_X
J'ai tout donné...
et pourtantCode:grant alter, control, create sequence,create table, delete, update, insert, execute, references, select, update, view definition on schema :: spt TO bidivers
Code:
1
2
3 create table spt.toto (i int) Msg 262, Level 14, State 1, Line 1 CREATE TABLE permission denied in database 'BI_DIVERS'.
Ok... en sus du alter sur le schema, il faut le create au niveau base
Bonjour Fabien,
Cela semble fonctionner avec le GRANT sur le USER directement comme donné par SQLpro.
Voici un exemple:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 use master go DROP DATABASE IF EXISTS DBTEST CREATE DATABASE DBTEST USE DBTEST go CREATE USER [USER_DVP] WITHOUT LOGIN go CREATE SCHEMA Schema_DVP go CREATE SCHEMA Schema_DVP_ReadOnly GO GRANT CREATE TABLE TO [USER_DVP]; GRANT ALTER ON SCHEMA::Schema_DVP TO [USER_DVP]; GO EXECUTE AS USER = 'USER_DVP' CREATE TABLE Schema_DVP.testTable (i int) -- Commands completed successfully. CREATE TABLE Schema_DVP_ReadOnly.testTable (i int) -- The specified schema name "Schema_DVP_ReadOnly" -- either does not exist or you do not have permission to use it. REVERT
PS:Ok je vois que tu avais trouvé :D