Absolut!
DENY DELETE ON (YourTableNameHere) TO YourUserNameHere
Siehe die wunderbaren und umfangreichen MSDN Books Online-Dokumentationen für mehr Details!
Wenn Sie das DELETE
verweigern möchten Berechtigung für alle Tabellen in einer Datenbank können Sie verwenden:
DENY DELETE TO YourUserNameHere
Oder wenn Sie Ihre Datenbank so strukturiert haben, dass die Tabellen in Schemata gruppiert sind , dann können Sie einem Benutzer auch ein bestimmtes Schema verweigern.
Wenn Sie Ihre 90 Tabellen nicht in einem separaten Schema (oder zwei, drei Schemata) gruppiert haben, dann gibt es keinen einfachen, magischen Weg um eine Berechtigung auf 90 Tabellen gleichzeitig anzuwenden. Es sind entweder alle Tabellen , ein bestimmtes Schema oder ein bestimmtes Datenbankobjekt (wie eine Tabelle) per DENY
Aussage.
Aktualisierung: Sie können immer die Systemkatalogansichten verwenden, um diese DENY
zu generieren Anweisungen für Sie, und verwenden Sie dann die, die Sie benötigen:
SELECT
'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t
Dies erzeugt als Ausgabe (z. B. in SQL Server Management Studio) eine Liste von Anweisungen, um das DELETE
zu verweigern Erlaubnis von Ihrem Benutzer. Kopieren Sie diese Zeilen in einen Texteditor und entfernen Sie die Zeilen, die Sie nicht benötigen – und schon haben Sie Ihre lange Liste von DENY
Aussagen!