Absoluut!
DENY DELETE ON (YourTableNameHere) TO YourUserNameHere
Zie de prachtige en uitgebreide MSDN Books Online-documenten voor meer details!
Als u de DELETE
. wilt weigeren toestemming voor alle tabellen in een database, kunt u gebruiken:
DENY DELETE TO YourUserNameHere
Of als u uw database zo heeft gestructureerd dat de tabellen zijn gegroepeerd in schema's , dan kunt u een gebruiker ook weigeren van een specifiek schema.
Als je je 90 tabellen niet hebt gegroepeerd in een apart schema (of twee, drie schema's), dan is er geen gemakkelijke, magische manier om een machtiging toe te passen op 90 tabellen tegelijk. Het zijn ofwel alle tafels , een specifiek schema of een specifiek database-object (zoals een tabel) per DENY
verklaring.
Bijwerken: u kunt altijd de systeemcatalogusweergaven gebruiken om die DENY
. te genereren verklaringen voor u, en gebruik vervolgens de verklaringen die u nodig heeft:
SELECT
'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t
Dit zal als uitvoer (bijvoorbeeld in SQL Server Management Studio) een lijst met instructies produceren om de DELETE
te weigeren toestemming van uw gebruiker. Kopieer die rijen naar een teksteditor en verwijder de rijen die je niet nodig hebt - en daar heb je je lange lijst met DENY
verklaringen!