DBM1 labo3 - IlanRuiz/Cours-TechES GitHub Wiki
- Les utilisateurs sont définis au niveau :
- B. Base de données
- Pour travailler sur une base de données, est-il nécessaire de posséder un compte utilisateur nominatif ?
- B. Non.
- À quoi servent les rôles ?
- C. Définir des groupes de privilèges
-
Quel(s) type(s) de rôle est-il possible d'accorder à un utilisateur ?
- B. Rôle de base de données
- C. Rôle personnalisé
-
Quelle instruction faut-il utiliser pour enlever un privilège à un utilisateur ?
- B. REVOKE.
- À quel niveau est-il possible de définir ses propres rôles ?
- C. Base de données
- Quel rôle permet d'accorder les privilèges d'administration d'une base ?
- D. db_owner
- En tant qu'administrateur du serveur sur lequel s'exécute l'instance SQL server, de quels privilèges je dispose par défaut au niveau de SQL Server ?
- D. SysAdmin
- Est-il possible d'utiliser un rôle d'application depuis un script Transact SQL ?
- A. Oui
-
Quel type de privilège peut être accordé à un rôle d'application ?
- A. Privilèges systèmes
- B. Privilèges objets
-
Quel est le rôle du compte d'utilisateur de base de données guest
C'est un compte qui est utilisé pour permettre de se connecter aux base de données lorsque la connexion utilisé n'est pas associé à un compte dans la base de donnée choisi
-
Si aucun schéma n'est associé à l'utilisateur de base de données, quel sera son schéma par défaut ?
- B. DBO
USE Master;
ALTER LOGIN [sa] WITH PASSWORD = 'Qaywsx123456'
USE TSQL
CREATE LOGIN Pierre
WITH PASSWORD = 'Qaywsx123456';
ALTER LOGIN Pierre WITH DEFAULT_DATABASE = TSQL
Use master;
go
create login [DBM\leon] from windows with default_database=TSQL;
use tsql;
go
create user leon from login [DBM\leon];
USE TSQL;
GO
grant connect to guest;
Pierre parvient à accéder aux deux bases en utilisant la commande use <dbname>;
USE TSQL;
GO
grant create table, create view, create procedure to leon;
use ssms;
go
grant create table, create view, create procedure to roleSSMS;
USE TSQL;
GO
create role roleTSQL;
grant create table, create view, create procedure to roleTSQL;
1.2
2
USE TSQL;
GO
EXEC sp_addrolemember @rolename='db_datareader', @membername='DBM\leon'
EXEC sp_addrolemember @rolename='db_datawriter', @membername='guest'
EXEC sp_addrolemember @rolename='roleTSQL', @membername='guest'
USE TSQL;
GO
revoke create procedure, create function to leon;
use SSMS;
go
grant create table, create view to roleApplication;
L'utilisateur n'a pas les permissions
L'utilisateur utilise le rôle d'application qui possède les privilèges pour effectuer l'opération
https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-transact-sql?view=sql-server-ver16
https://learn.microsoft.com/en-us/sql/t-sql/statements/revoke-transact-sql?view=sql-server-ver16