J'ai besoin de pouvoir établir une connexion ODBC via l'authentification SQL Server.
Dans SSMS, comment autoriser un utilisateur à avoir TOUS DROITS sur une base de données spécifique?
existe-t-il un moyen de faire cela graphiquement avec SSMS?
J'ai besoin de pouvoir établir une connexion ODBC via l'authentification SQL Server.
Dans SSMS, comment autoriser un utilisateur à avoir TOUS DROITS sur une base de données spécifique?
existe-t-il un moyen de faire cela graphiquement avec SSMS?
Réponses:
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
rôle par défaut (autorisation de lecture sur toutes les tables) à cet utilisateur.
Il existe également un db_datawriter
rôle - qui donne à votre utilisateur toutes les autorisations WRITE (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 la 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 également le faire graphiquement - dans SSMS, accédez à votre base de données, puis Security > Users
cliquez avec le bouton droit de la souris sur l'utilisateur auquel vous souhaitez accorder des autorisations, puis Properties
en bas, vous voyez "Appartenance aux rôles de base de données" où vous pouvez ajouter le utilisateur aux rôles de base de données.
Si vous voulez vraiment qu'ils aient TOUS les droits:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go