Wie erstelle ich einen MS SQL Server Benutzer, der nur bestimmte Ansichten einer bestimmten Datenbank lesen darf?MSSQL: Begrenztes Konto, das nur bestimmte Ansichten lesen darf?
Antwort
Hier ist ein Skript, das einen neuen Benutzer erstellt und ihm nur die Berechtigungen für eine bestimmte Ansicht gewährt.
USE [master]
GO
CREATE LOGIN [LimitedUser] WITH PASSWORD=N'testPass',
DEFAULT_DATABASE=[master],
CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [TestDB]
GO
CREATE USER [LimitedUser] FOR LOGIN [LimitedUser]
GO
use [TestDB]
GO
GRANT SELECT ON [dbo].[myView] TO [LimitedUser]
GO
bearbeiten
Statt diese Sie für einen bestimmten Benutzer tun möchten, anstatt mit Rollen zu berücksichtigen.
USE [TestDB]
GO
CREATE ROLE [LimitedRole]
GO
GRANT SELECT ON [dbo].[TestView] TO [LimitedRole]
GO
EXEC sp_addrolemember N'LimitedRole', N'LimitedUser'
GO
diese Weise, wenn Sie mehrere Benutzer zum Beispiel in einem Windows Authenitcation-Modus haben Sie viele Benutzer haben könnten, kann alle Zugang zu dieser Rolle gewährt werden. Auf diese Weise müssen Sie beim Hinzufügen/Entfernen von Ansichten nicht jeden Benutzer berühren.
Der Trick besteht darin, der Rolle Public keine ausdrücklichen Berechtigungen zu erteilen. Jeder Benutzer ist unwiderruflich ein Mitglied dieser Rolle, so dass es nicht möglich ist, zu verhindern, dass ein Benutzer der Datenbank Rechte erhält, die Sie der Öffentlichkeit erteilen.
von Abgesehen davon, fügen Sie einfach den Benutzer auf die entsprechenden DB und ihnen Rechte nur auf die Objekte geben Sie in
- 1. Lesen nur bestimmte Blatt
- 2. Teilweise nur für bestimmte Ansichten rendern
- 3. Kann read_csv nur bestimmte Zeilen lesen?
- 4. begrenztes Datum im Kalender - Primzahlen
- 5. MySQL-Sync aus einer anderen Datenbank mit Konto nur lesen
- 6. Erhalten Sie nur das Datum Teil von Datetime in mssql
- 7. Lesen Sie das Ereignisprotokoll von einem anderen Konto C#
- 8. Bestimmte Ansichten von uitableview ausblenden
- 9. C# gdal lesen mssql spatial zu geojson
- 10. Dateistruktur in ein Array lesen, sondern nur bestimmte Dateien
- 11. C# WinForms Lesen von XML-Datei - nur bestimmte Knoten
- 12. Fehlende bestimmte @helpers in Ansichten ASP.net MVC3
- 13. Befehlszeilentool zum Erstellen von Skripts für bestimmte MSSQL-Tabellen
- 14. Das Attribut darf keine leere Zeichenfolge enthalten
- 15. ui.ButtonSet funktioniert nur für Besitzer Konto
- 16. Lesen Sie Textdatei, bestimmte Zeile.
- 17. Devise: Passwort nur für bestimmte Situationen fragen
- 18. nur bestimmte Benutzer Ebene
- 19. getElementsByTagName nur bestimmte Links
- 20. Moment.js: nur bestimmte Lokalisierungen
- 21. Nur bestimmte Ereignisse zulassen
- 22. Backbone.Marionette Fade Transition nur für bestimmte Regionen?
- 23. Nur Tasten von Kafka lesen
- 24. C# SQL-Tabellen und -Ansichten lesen
- 25. Devise - Admin darf Registrierungskonten hinzufügen
- 26. Nur zeigen Eltern, wenn das Kind bestimmte Zeichenfolge enthält
- 27. CVS Nur lesen Auschecken
- 28. Ein begrenztes Rechteck innerhalb eines konkaven/konvexen Polygons finden
- 29. Laufwerk Konto zugeordnet Appengine Service Konto
- 30. Typeerror: execv() arg 2 darf nur Zeichenfolgen enthalten
Josh interessiert sind. Gute Antwort. Wie eine neugierige Frage von einem unbeteiligten Zuschauer, gibt es eine Möglichkeit, auf der gleichen Route über die Benutzeroberfläche Create Login GUI zu enden? – TheTXI
Ja, ich habe diese Skripte mit Sql Management Studio erstellt, musste zuerst den Benutzernamen und dann den Benutzer auf der DB-Ebene erstellen. – JoshBerke