2011-04-11 2 views
12

J'ai un .net où j'ai seulement accès en lecture à la base de données SQL Server. Est-il possible pour SQL Server de me donner un accès en écriture à une seule des tables de la base de données et de me limiter à la lecture uniquement pour le reste de la base de données?SQL Server - Autorisation par table?

Répondre

15

Utilisez ce script TSQL, si vous avez besoin:

EXEC sp_addrolemember N'db_datareader', N'User1'; 

GRANT INSERT, UPDATE, SELECT ON 
    MyTable 
TO User1 --for multiples, it's TO User1,User2 
4

Oui, oui c'est le cas. Accordez-vous simplement le rôle ReadOnly et accordez des autorisations d'écriture explicites à la table en question.

4

Dans SQL Server Management Studio, cliquez droit sur le seul utilisateur en lecture dans le nom de la base de données | sécurité | utilisateurs et sélectionnez Propriétés.

Sélectionnez "Securables" et cliquez sur "Rechercher ...". Dans la fenêtre contextuelle, sélectionnez "Tous les objets du type ..." et cliquez sur OK. Sélectionnez "Tables" dans la fenêtre suivante et cliquez sur OK.

Ensuite, dans la fenêtre Securables, pour chaque table à laquelle l'utilisateur peut écrire: Cliquez sur le tableau, et dans la fenêtre d'autorisation ci-dessous, dans la colonne "Grant", sélectionnez "Insert", "Select" et "Mettre à jour".

Questions connexes