sp_table_privileges_ex (Transact-SQL)
Gilt für: SQL Server
Gibt Privileginformationen zu der angegebenen Tabelle vom angegebenen Verbindungsserver zurück.
Transact-SQL-Syntaxkonventionen
Syntax
sp_table_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Argumente
[ @table_server = ] N'table_server'
Der Name des verknüpften Servers, für den Informationen zurückgegeben werden sollen. @table_server ist "sysname" ohne Standard.
[ @table_name = ] N'table_name'
Der Name der Tabelle, für die Tabellenberechtigungsinformationen bereitgestellt werden sollen. @table_name ist "sysname" mit einem Standardwert von NULL
.
[ @table_schema = ] N'table_schema'
Das Tabellenschema. Dies ist in einigen DBMS-Umgebungen der Tabellenbesitzer. @table_schema ist "sysname" mit der Standardeinstellung "NULL
.
[ @table_catalog = ] N'table_catalog'
Der Name der Datenbank, in der sich die angegebene @table_name befindet. @table_catalog ist "sysname" mit einem Standardwert von NULL
.
[ @fUsePattern = ] fUsePattern
Bestimmt, ob die Zeichen _
, %
, [
und ]
als Platzhalterzeichen interpretiert werden. Gültige Werte sind 0
(Musterabgleich ist deaktiviert) und 1
(Mustervergleich ist aktiviert). @fUsePattern ist bit, mit einem Standardwert von 1
.
Rückgabecodewerte
Keine.
Resultset
Spaltenname | Datentyp | Beschreibung |
---|---|---|
TABLE_CAT |
sysname | Der Name des Tabellenqualifizierers. Verschiedene DBMS-Produkte unterstützen die dreiteilige Benennung für Tabellen (<qualifier>.<owner>.<name> ). In SQL Server stellt diese Spalte den Datenbanknamen dar. Bei anderen Produkten stellt sie den Servernamen der Datenbankumgebung für die Tabelle dar. Dieses Feld kann sein NULL . |
TABLE_SCHEM |
sysname | Der Name des Tabellenbesitzers. In SQL Server stellt diese Spalte den Namen des Datenbankbenutzers bzw. der Datenbankbenutzerin dar, der/die die Tabelle erstellt hat. Dieses Feld gibt immer einen Wert zurück. |
TABLE_NAME |
sysname | Tabellenname. Dieses Feld gibt immer einen Wert zurück. |
GRANTOR |
sysname | Datenbankbenutzername, der Berechtigungen für diese TABLE_NAME Berechtigung für die aufgelistete .GRANTEE In SQL Server ist diese Spalte immer identisch mit der TABLE_OWNER . Dieses Feld gibt immer einen Wert zurück. Außerdem kann es sich bei der GRANTOR Spalte entweder um den Datenbankbesitzer (TABLE_OWNER ) oder um einen Benutzer handeln, dem der Datenbankbesitzer mithilfe der WITH GRANT OPTION Klausel in der GRANT Anweisung die Berechtigung erteilt hat. |
GRANTEE |
sysname | Der Datenbankbenutzername, der berechtigungen dafür TABLE_NAME durch die aufgelistete Berechtigung GRANTOR erteilt wurde. Dieses Feld gibt immer einen Wert zurück. |
PRIVILEGE |
varchar(32) | Eine der verfügbaren Tabellenberechtigungen. Tabellenberechtigungen können folgende Werte annehmen bzw. auch andere Werte, die von der Datenquelle bei der Definition der Implementierung unterstützt werden.SELECT = GRANTEE kann Daten für eine oder mehrere Spalten abrufen.INSERT = GRANTEE kann Daten für neue Zeilen für eine oder mehrere Spalten bereitstellen.UPDATE = GRANTEE kann vorhandene Daten für eine oder mehrere Spalten ändern.DELETE = GRANTEE Zeilen aus der Tabelle entfernen können.REFERENCES = GRANTEE kann auf eine Spalte in einer Fremdtabelle in einer Primärschlüssel-/Fremdschlüsselbeziehung verweisen. In SQL Server werden Primärschlüssel-/Fremdschlüsselbeziehungen mithilfe von Tabelleneinschränkungen definiert.Der Aktionsumfang, der GRANTEE durch ein bestimmtes Tabellenrecht erteilt wird, ist datenquellenabhängig. Beispielsweise könnte die UPDATE Berechtigung das GRANTEE Aktualisieren aller Spalten in einer Tabelle in einer Datenquelle und nur für spalten aktivieren, für die die GRANTOR UPDATE-Berechtigung für eine andere Datenquelle verfügt. |
IS_GRANTABLE |
varchar(3) | Gibt an, ob die GRANTEE Berechtigung anderen Benutzern erteilt werden darf. Dies wird häufig als "Berechtigung mit Recht zum Erteilen" bezeichnet. Kann YES , NO oder NULL sein. Ein unbekannter wert NULL bezieht sich auf eine Datenquelle, in der "Grant with grant" nicht anwendbar ist. |
Hinweise
Die zurückgegebenen Ergebnisse werden nach TABLE_QUALIFIER
, , TABLE_OWNER
, TABLE_NAME
und PRIVILEGE
.
Berechtigungen
Erfordert die SELECT
-Berechtigung im Schema.
Beispiele
In diesem Beispiel werden die Privileginformationen zu Tabellen zurückgegeben, deren Namen in der AdventureWorks2022
-Datenbank des angegebenen Verbindungsservers Product
mit Seattle1
beginnen. SQL Server wird als verknüpfter Server angenommen.
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2022';