Absolut!
DENY DELETE ON (YourTableNameHere) TO YourUserNameHere
Se de underbara och omfattande MSDN Books Online-dokumenten för mer information!
Om du vill neka DELETE
behörighet för alla tabeller i en databas kan du använda:
DENY DELETE TO YourUserNameHere
Eller om du har strukturerat din databas på ett sådant sätt att tabellerna är grupperade i scheman , då kan du också neka en användare från ett specifikt schema.
Om du inte har grupperat dina 90 tabeller i ett separat schema (eller två, tre scheman), så finns det inget enkelt, magiskt sätt att tillämpa en behörighet på 90 bord samtidigt. Det är antingen alla tabeller , ett specifikt schema eller ett specifikt databasobjekt (som en tabell) per DENY
uttalande.
Uppdatering: du kan alltid använda systemkatalogvyerna för att generera dessa DENY
uttalanden åt dig och använd sedan de du behöver:
SELECT
'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t
Detta kommer att producera som dess utdata (t.ex. i SQL Server Management Studio) en lista med satser för att neka DELETE
tillstånd från din användare. Kopiera dessa rader till en textredigerare och ta bort de rader du inte behöver - och där har du din långa lista med DENY
uttalanden!