Absolument !
DENY DELETE ON (YourTableNameHere) TO YourUserNameHere
Voir la merveilleuse et complète documentation MSDN Books Online pour plus de détails !
Si vous souhaitez refuser la DELETE
autorisation sur tous tables dans une base de données, vous pouvez utiliser :
DENY DELETE TO YourUserNameHere
Ou si vous avez structuré votre base de données de manière à ce que les tables soient regroupées en schémas , vous pouvez également refuser un utilisateur d'un schéma spécifique.
Si vous n'avez pas regroupé vos 90 tables dans un schéma séparé (ou deux, trois schémas), alors il n'y a pas de moyen simple et magique pour appliquer une permission à 90 tables à la fois. C'est soit toutes les tables , un schéma spécifique ou un objet de base de données spécifique (comme une table) par DENY
déclaration.
Mise à jour : vous pouvez toujours utiliser les vues du catalogue système pour générer ces DENY
déclarations pour vous, puis utilisez celles dont vous avez besoin :
SELECT
'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t
Cela produira en sortie (par exemple dans SQL Server Management Studio) une liste d'instructions pour refuser le DELETE
l'autorisation de votre utilisateur. Copiez ces lignes dans un éditeur de texte et supprimez les lignes dont vous n'avez pas besoin - et vous avez là votre longue liste de DENY
déclarations !