Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2008 :comment accorder des privilèges à un nom d'utilisateur ?

Si vous souhaitez donner à votre utilisateur toutes les autorisations de lecture, vous pouvez utiliser :

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

Cela ajoute le db_datareader par défaut rôle (autorisation de lecture sur toutes les tables) à cet utilisateur.

Il y a aussi un db_datawriter rôle - qui donne à votre utilisateur toutes les autorisations d'ÉCRITURE (INSERT, UPDATE, DELETE) sur toutes les tables :

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

Si vous avez besoin d'être plus précis, vous pouvez utiliser le GRANT commande :

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

et ainsi de suite - vous pouvez accorder de manière granulaire l'autorisation SELECT, INSERT, UPDATE, DELETE sur des tables spécifiques.

Tout cela est très bien documenté dans la documentation en ligne MSDN pour SQL Server.

Et oui, vous pouvez aussi le faire graphiquement - dans SSMS, allez dans votre base de données, puis Security > Users , faites un clic droit sur l'utilisateur auquel vous souhaitez accorder des autorisations, puis Properties et en bas, vous voyez "Appartenances aux rôles de base de données" où vous pouvez ajouter l'utilisateur aux rôles de base de données.