Sdílet prostřednictvím


sp_table_privileges_ex (Transact-SQL)

platí pro:SQL Server

Vrací informace o oprávnění k dané tabulce z určeného propojeného serveru.

Transact-SQL konvence syntaxe

Syntaxe

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 ]
[ ; ]

Arguments

[ @table_server = ] N'table_server'

Název propojeného serveru, pro který se vracejí informace. @table_server je sysname, bez výchozího nastavení.

[ @table_name = ] 'Ntable_name'

Název tabulky, pro kterou se poskytují informace o privilegiích tabulky. @table_name je sysname s výchozím nastavením .NULL

[ @table_schema = ] N'table_schema'

Schéma stolu. V některých DBMS prostředích je to vlastník tabulky. @table_schema je sysname s výchozím nastavením NULL.

[ @table_catalog = ] N'table_catalog'

Název databáze, ve které se daná @table_name nachází. @table_catalog je sysname s výchozím nastavením NULL.

[ @fUsePattern = ] fUsePattern

Určuje, zda jsou znaky _, %, [, a ] interpretovány jako žolíky. Platné hodnoty jsou 0 (pattern matching je vypnuté) a 1 (pattern matching je zapnuté). @fUsePattern je bit, s výchozím nastavením 1.

Hodnoty návratového kódu

Žádné.

Sada výsledků

Název sloupce Datový typ Description
TABLE_CAT sysname Název kvalifikátoru tabulky. 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. Toto pole může být .NULL
TABLE_SCHEM sysname Jméno majitele stolu. V SQL Serveru tento sloupec představuje jméno uživatele databáze, který tabulku vytvořil. Toto pole vždy vrací hodnotu.
TABLE_NAME sysname Název tabulky Toto pole vždy vrací hodnotu.
GRANTOR sysname Uživatelské jméno databáze, které uděluje oprávnění k tomuto TABLE_NAME uvedenému 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 () neboTABLE_OWNER uživatelem, kterému vlastník databáze udělil oprávnění použitím klauzule WITH GRANT OPTION ve GRANT výroku.
GRANTEE sysname Uživatelské jméno databáze, kterému byly uděleny oprávnění TABLE_NAME od uvedených .GRANTOR Toto pole vždy vrací hodnotu.
PRIVILEGE varchar(32) Jedno z dostupných oprávnění stolu. Oprávnění k tabulce 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 jeden nebo více sloupců.

INSERT = GRANTEE může poskytovat data pro nové řádky pro jeden nebo více sloupců.

UPDATE = GRANTEE může upravit existující data pro jeden nebo více sloupců.

DELETE = GRANTEE může odstranit řádky ze stolu.

REFERENCES = GRANTEE může odkazovat na sloupec v cizí tabulce ve vztahu primární klíč/cizí klíč. V SQL Serveru jsou vztahy primárního klíče a cizího klíče definovány pomocí tabulových omezení.

Rozsah činnosti, který konkrétní privilegium tabulky poskytuje GRANTEE , závisí na zdroji dat. Například oprávnění UPDATE by mohlo umožnit GRANTEE aktualizaci všech sloupců v tabulce na jednom datovém zdroji a pouze na těch sloupcích, pro které má oprávnění GRANTOR AKTUALIZACE, na jiném datovém zdroji.
IS_GRANTABLE varchar(3) Označuje, zda je GRANTEE povoleno udělovat oprávnění jiným uživatelům. Toto se často označuje jako povolení "grant with grant". Může být YES, NOnebo NULL. Neznámá, nebo NULL, hodnota označuje datový zdroj, u kterého "grant with grant" není použitelný.

Poznámky

Výsledky vrácené jsou uspořádány podle TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, a PRIVILEGE.

Povolení

Vyžaduje SELECT povolení ke schématu.

Examples

Následující příklad vrací AdventureWorks2025 informace o privilegiích k tabulkám s názvy začínajícími v Product databázi z určeného propojeného serveru Seattle1. SQL Server je předpokládán jako propojený server.

EXECUTE sp_table_privileges_ex
    @table_server = 'Seattle1',
    @table_name = 'Product%',
    @table_schema = 'Production',
    @table_catalog = 'AdventureWorks2022';