Ich versuche, Mydomain \ Myuser der Db_denydatawriter-Rolle hinzuzufügen, aber ich kann ein einfaches Beispiel für die Abfrage finden, hat jemand ein kurzes Beispiel?SQL Server 2005 db_denydatawriter Beispiel Abfrage
1
A
Antwort
2
3 Schritten, falls Sie bereits
CREATE LOGIN [mydomain\myuser] FROM WINDOWS;
auf Serverebene nicht einrichten Login + Benutzer. MSDNCREATE USER [mydomain\myuser] FROM LOGIN [mydomain\myuser];
auf der Ebene db. MSDN- Match user zur Rolle
EXEC sp_addrolemember 'mydomain\myuser', 'db_denydatawriter'
Edit:
Dies verhindert, dass nur INSERT, UPDATE und DELETE direkt auf den Tischen
Es wird nicht Wicke Design stoppen. Das ist ddl_admin oder db_owner. Die Rechte von db_owner überschreiben alle anderen Berechtigungen, so dass der Ausschluss keine Auswirkungen hat.
Wenn Schreibvorgänge über gespeicherte Prozeduren erfolgen, bedeutet ownership chaining, dass Berechtigungen in einer Tabelle nicht überprüft werden. Also wird diese Antwort nicht funktionieren.
0
EXEC sp_addrolemember N'db_denydatawriter', N'Foo'
Referenz here.
Ich tat dies, der Benutzer kann noch die Tabellen ändern. –
In welchen anderen Rollen sind sie? db_besitzer? – MartW
@Mike: Bitte klären Sie "Tabellen ändern". Meinst du Datenänderungen oder Spalten hinzufügen usw.? Verwenden sie gespeicherte Procs, um Daten zu schreiben? – gbn