Sdílet prostřednictvím


sp_column_privileges (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrací informace o privilegiích sloupců pro jednu tabulku v aktuálním prostředí.

Transact-SQL konvence syntaxe

Syntaxe

sp_column_privileges
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
[ ; ]

Arguments

[ @table_name = ] 'Ntable_name'

Tabulka sloužila k vrácení informací z katalogu. @table_name je sysname, bez výchozího nastavení. Wildcard pattern matching není podporován.

[ @table_owner = ] N'table_owner'

Majitel tabulky dříve vracel informace z katalogu. @table_owner je sysname, s výchozím nastavením NULL. Wildcard pattern matching není podporován. Pokud @table_owner není specifikováno, platí výchozí pravidla pro viditelnost tabulek základního databázového systému (DBMS).

Pokud aktuální uživatel vlastní tabulku s tímto jménem, sloupce této tabulky se vrátí. Pokud @table_owner není specifikováno a současný uživatel nevlastní tabulku s daným @table_name, sp_column oprávnění hledají tabulku s určeným @table_name vlastněným vlastníkem databáze. Pokud existuje, sloupce této tabulky se vrátí.

[ @table_qualifier = ] N'table_qualifier'

Název kvalifikanta na tabulce. @table_qualifier je sysname, s výchozím .NULL Různé produkty DBMS podporují třífázové pojmenování tabulek (<qualifier>.<owner>.<name>). V SQL Serveru tento sloupec představuje název databáze. V některých produktech představuje název serveru databázového prostředí tabulky.

[ @column_name = ] N'column_name'

Jeden sloupec používaný při získávání pouze jednoho sloupce katalogových informací. @column_name je nvarchar(384), s výchozím hodnotou NULL. Pokud @column_name není specifikováno, všechny sloupce se vrátí. V SQL Serveru @column_name představuje název sloupce, jak je uveden v tabulce sys.columns . @column_name může zahrnovat znaky s divokými kartami pomocí vzorů shody s proměnnými znaky základního DBMS. Pro maximální interoperabilitu by klient brány měl přemýšlet pouze o porovnávání vzorů podle standardu ISO (znaky % a _ zástupné znaky).

Sada výsledků

sp_column_privileges je ekvivalentní s v SQLColumnPrivileges ODBC. Výsledky vrácené jsou uspořádány podle TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME, a .PRIVILEGE

Název sloupce Datový typ Description
TABLE_QUALIFIER sysname Název kvalifikátoru tabulky. Toto pole může být .NULL
TABLE_OWNER sysname Jméno majitele stolu. Toto pole vždy vrací hodnotu.
TABLE_NAME sysname Název tabulky Toto pole vždy vrací hodnotu.
COLUMN_NAME sysname Název sloupce pro každý sloupec vráceného sloupce TABLE_NAME . Toto pole vždy vrací hodnotu.
GRANTOR sysname Uživatelské jméno databáze, kterému byla udělena oprávnění k této COLUMN_NAME oblasti, je uvedeno GRANTEE. V SQL Serveru je tento sloupec vždy stejný jako .TABLE_OWNER Toto pole vždy vrací hodnotu.

Sloupec GRANTOR může být buď vlastníkem databáze (TABLE_OWNER), nebo uživatelem, kterému vlastník databáze udělil oprávnění pomocí klauzule WITH GRANT OPTION ve GRANT výroku.
GRANTEE sysname Uživatelské jméno databáze, kterému byla udělena COLUMN_NAME oprávnění od uvedeného .GRANTOR V SQL Serveru tento sloupec vždy obsahuje uživatele databáze z tabulky sysusers . Toto pole vždy vrací hodnotu.
PRIVILEGE varchar(32) Jedno z dostupných oprávnění pro sloupce. Oprávnění sloupců mohou být jedna z následujících hodnot (nebo jiné hodnoty podporované datovým zdrojem při definování implementace):

SELECT = GRANTEE může získat data pro sloupce.
INSERT = GRANTEE může poskytnout data pro tento sloupec, když jsou do tabulky vloženy nové řádky (pomocí GRANTEE)
UPDATE = GRANTEE může upravovat existující data ve sloupci.
REFERENCES = GRANTEE může odkazovat na sloupec v cizí tabulce ve vztahu primární klíč/cizí klíč. Vztahy primárního klíče a cizího klíče jsou definovány pomocí omezení tabulky.
IS_GRANTABLE varchar(3) Označuje, zda je GRANTEE povoleno udělovat oprávnění jiným uživatelům (často označovaná jako "udělit s grantem"). Může být YES, NOnebo NULL. Neznámá, nebo NULL, hodnota označuje datový zdroj, pro který "grant with grant" není aplikovatelné.

Poznámky

U SQL Serveru jsou oprávnění udělována příkazem GRANT a odebrána příkazem REVOKE .

Povolení

Vyžaduje SELECT povolení ke schématu.

Examples

Následující příklad vrací informace o privilegiích sloupců pro konkrétní sloupec.

USE AdventureWorks2022;
GO

EXECUTE sp_column_privileges
    @table_name = 'Employee',
    @table_owner = 'HumanResources',
    @table_qualifier = 'AdventureWorks2022',
    @column_name = 'SalariedFlag';