Udostępnij za pomocą


sp_table_privileges (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca listę uprawnień do tabel (takich jak INSERT, DELETE, UPDATE, SELECT, REFERENCES) dla określonej tabeli lub tabel.

Transact-SQL konwencje składni

Składnia

sp_table_privileges
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

[ @table_name = ] N'table_name'

Tabela służąca do zwracania informacji katalogowych. @table_name to nvarchar(384), bez domyślnego statusu. Obsługiwane jest dopasowanie wzorców dzikich.

[ @table_owner = ] N'table_owner'

Właściciel tabeli służył do zwracania informacji z katalogu. @table_owner to nvarchar(384), z domyślnym obciążeniem NULL. Obsługiwane jest dopasowanie wzorców dzikich. Jeśli właściciel nie jest określony, domyślne reguły widoczności tabel bazowego DBMS mają zastosowanie.

Jeśli aktualny użytkownik posiada tabelę o podanej nazwie, kolumny tej tabeli są zwracane. Jeśli właściciel nie jest określony, a obecny użytkownik nie posiada tabeli o określonej nazwie, procedura ta szuka tabeli o określonym table_name należącym do właściciela bazy danych. Jeśli taki istnieje, kolumny tej tabeli są zwracane.

[ @table_qualifier = ] N'table_qualifier'

Nazwa kwalifikatora tabeli. @table_qualifier to nazwa systemu, z domyślnym obciążeniem NULL. Różne produkty DBMS obsługują trójczęściowe nazewnictwo tabel (qualifier.owner.name). W SQL Server ta kolumna oznacza nazwę bazy danych. W niektórych produktach reprezentuje nazwę serwera środowiska bazodanowego tabeli.

[ @fUsePattern = ] fUsePattern

Określa, czy znaki podkreśleń (_), procent (%) i nawiasów ([ lub ]) są interpretowane jako znaki dziki. Poprawne wartości to 0 (dopasowywanie wzorców jest wyłączone) oraz 1 (dopasowanie wzorców jest włączone). @fUsePattern jest bit, z domyślnym .1

Zwracanie wartości kodu

Żaden.

Zestaw wyników

Nazwa kolumny Typ danych Description
TABLE_QUALIFIER sysname Nazwa kwalifikatora tabeli. W SQL Server ta kolumna oznacza nazwę bazy danych. To ciało może być .NULL
TABLE_OWNER sysname Nazwisko właściciela stołu. To pole zawsze zwraca wartość.
TABLE_NAME sysname Nazwa tabeli. To pole zawsze zwraca wartość.
GRANTOR sysname Nazwa użytkownika bazy danych, która przyznaje uprawnienia do tego TABLE_NAME typu GRANTEE. W SQL Serverze ta kolumna jest zawsze taka sama jak .TABLE_OWNER To pole zawsze zwraca wartość. Ponadto kolumna GRANTOR może być właścicielem bazy danych (TABLE_OWNER) lub użytkownikiem, któremu właściciel bazy danych udzielił pozwolenia, używając klauzuli zawartej WITH GRANT OPTION w GRANT instrukcji.
GRANTEE sysname Nazwa użytkownika bazy danych, której przyznano uprawnienia do tego TABLE_NAME przez wymienione .GRANTOR W SQL Server ta kolumna zawsze zawiera użytkownika bazy danych z widoku sys.database_principalssystem . To pole zawsze zwraca wartość.
PRIVILEGE sysname Jedno z dostępnych uprawnień stołu. Uprawnienia do tabel mogą być jedną z następujących wartości (lub innymi wartościami wspieranymi przez źródło danych podczas definiowania implementacji):

SELECT = GRANTEE może pobierać dane dla jednej lub więcej kolumn.

INSERT = GRANTEE może dostarczać dane dla nowych wierszy dla jednej lub więcej kolumn.

UPDATE = GRANTEE może modyfikować istniejące dane dla jednej lub więcej kolumn.

DELETE = GRANTEE może usuwać wiersze ze stołu.

REFERENCES = GRANTEE może odnosić się do kolumny w tabeli obcej w zależności klucz główny/klucz obcy. W SQL Server relacje klucza głównego/klucza obcego są definiowane z ograniczeniami tabelowymi.

Zakres działań nadanych GRANTEE przez dane przywileje tabeli zależy od źródła danych. Na przykład przywilej może UPDATE pozwalać na GRANTEE aktualizację wszystkich kolumn w tabeli na jednym źródle danych i tylko tych kolumnach, dla których ma UPDATEGRANTOR uprawnienia, na innym źródle danych.
IS_GRANTABLE sysname Wskazuje, czy ma GRANTEE prawo przyznawać uprawnienia innym użytkownikom (często nazywane uprawnieniami "udzielaj z przyznaniami"). Może to być YES, NOlub NULL. Nieznana (lub NULL) wartość odnosi się do źródła danych, dla którego "grant with grant" nie ma zastosowania.

Uwagi

Procedura sp_table_privileges przechowywana jest równoważna z procedurą SQLTablePrivileges w ODBC. Wyniki zwracane są uporządkowane według TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, oraz PRIVILEGE.

Permissions

Wymaga SELECT zgody na schemat.

Przykłady

Poniższy przykład zwraca informacje o przywilejach dla wszystkich tabel o nazwach zaczynających się na słowo Contact.

USE AdventureWorks2022;
GO

EXECUTE sp_table_privileges @table_name = 'Contact%';