Anzeigen von Objektdefinitionen
Die Regeln für das Anzeigen des Transact-SQL-Quellcodes von Datenbankobjekten sind strenger als für das Anzeigen von Metadaten. Für das Anzeigen der Transact-SQL-Definition eines Objekts muss ein Benutzer das Objekt entweder besitzen, oder ihm muss eine der folgenden Berechtigungen für das Objekt erteilt worden sein:
- CONTROL
- ALTER
- TAKE OWNERSHIP
- VIEW DEFINITION
Es folgen einige Beispiele für die Funktionsweise dieser Regeln:
Wurde einem Benutzer die ALTER-Berechtigung für die myTable-Tabelle erteilt, kann der Benutzer die Transact-SQL-Definition der mit der Tabelle in Zusammenhang stehenden Unterkomponenten in der definition-Spalte in den in der folgenden Tabelle aufgelisteten Katalogsichten anzeigen. Verfügt ein Benutzer über keine der genannten Berechtigungen oder besitzt das Objekt nicht, ist die Transact-SQL-Definition in der definition-Spalte der Katalogsicht NULL.
Ist der Benutzer nicht der Besitzer der myTable-Tabelle und wurde ihm nur die SELECT-Berechtigung für die Tabelle erteilt, weisen die definition-Spalten den Wert NULL auf, wenn er auf die folgenden Katalogsichten zugreift.
Name der Katalogsicht Transact-SQL-Definitionen für: sys.sql_modules
Alle Trigger in mytable
sys.computed_columns
Alle berechneten Spalten in myTable
sys.check_constraints
Alle CHECK-Einschränkungen in myTable
sys.default_constraints
Alle DEFAULT-Einschränkungen in myTable
Angenommen, einem Benutzer wird die EXECUTE-Berechtigung für die myProcedure-Prozedur erteilt. Wenn der Benutzer versucht, die Transact-SQL-Definition der Prozedur anzuzeigen, indem er auf die sys.sql_modules-Katalogsicht zugreift, weist die definition-Spalte den Wert NULL auf. Wenn dem Benutzer im umgekehrten Fall die TAKE OWNERSHIP-Berechtigung für myProcedure erteilt wurde, wird ihm die Transact-SQL-Definition der Prozedur in der definition-Spalte von sys.sql_modules angezeigt.
Siehe auch
Konzepte
Konfigurieren der Sichtbarkeit von Metadaten
VIEW DEFINITION-Berechtigung
VIEW ANY DATABASE-Berechtigung
Andere Ressourcen
sys.sql_modules (Transact-SQL)
sys.computed_columns (Transact-SQL)
sys.check_constraints (Transact-SQL)
sys.default_constraints (Transact-SQL)