Hallo,
ich möchte explizit Rechte auf einzelne Tabellen verweigern. Dabei habe ich mir gedacht (da es über 500! sind) mach ich das doch mal per Skript.
Also
SELECT * FROM TESTDB.dbo.sysobjects WHERE xtype='U' and name like '%test%'
Das klappt auch! Ergebnis - zu viele!
Ich würde gern den kompletten Zugriff auf die Tabellen verweigern!
Deswegen kam ich auf diese Idee:
use TESTDB GO DENY UPDATE ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY ALTER ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY VIEW CHANGE TRACKING ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY SELECT ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY TAKE OWNERSHIP ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY VIEW DEFINITION ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY INSERT ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY DELETE ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY CONTROL ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO use TESTDB GO DENY REFERENCES ON [dbo].[Testtabelle_eins] TO [datenaustausch_BL] GO
Gehe ich jetzt unter Sicherungsfähige Elemente der Eigenschaften des einzuschränkenden Benutzers erscheint mir Aktualisieren, Ändern usw. doppelt.
Ich habe leider keine Referenz ob dies so richtig ist, deswegen stimmt das so?
Und wie könnte ich ein schlankes Skript bauen damit ich eben nicht alle 500 Tabellen im oben genannt Skript einzeln aufführen muss?
Bin um jeden Tipp sehr dankbar!