Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2008 erteilt information_schema.columns die Berechtigung

Die Sichtbarkeit von Objektmetadaten unterliegt der DEFINITION ANSICHT Erlaubnis:

GRANT VIEW DEFINITION ON ... TO cctc_reader;

Das Recht, dem eine Berechtigung erteilt werden soll, hängt von Ihrem Szenario ab. Es könnte das dbo oder ein anderes Schema sein, es könnte die Datenbank selbst sein, es könnten einzelne Tabellen sein. Wenn ich an Ihrer Stelle wäre, würde ich die recControl_system_option-Prozedur codieren und VIEW ANY DEFINITION für die Signatur auf Serverebene gewähren, eine viel bessere und sicherere Methode als die Verwendung von Rollen und die Erteilung von Berechtigungen für Rollen. Siehe Signieren eines aktivierten Verfahrens für ein Beispiel, wie man eine Prozedur signiert und eine Berechtigung auf Serverebene für die Signatur erteilt.