Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrací informace o privilegiích sloupců pro jednu tabulku v aktuálním prostředí.
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';
Související obsah
- GRANT (Transact-SQL)
-
ODVOLÁNÍ (Transact-SQL) - uložené procedury systému (Transact-SQL)