Megosztás a következőn keresztül:


sp_table_privileges (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

A megadott táblázathoz vagy táblákhoz tartozó táblajogosultságok listáját (például INSERT, DELETE, UPDATE, SELECT, , REFERENCES) ad.

Transact-SQL szintaxis konvenciók

Szemantika

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'

A táblázat a katalógusinformáció visszaadására szolgált. @table_namenvarchar(384), alapértelmezett nélkül. A vadkártya mintázatpárosítás támogatott.

[ @table_owner = ] N'table_owner'

A táblázat tulajdonosa a katalógusinformációt küldte vissza. @table_ownernvarchar(384), alapértelmezett értéke NULL. A vadkártya mintázatpárosítás támogatott. Ha a tulajdonos nincs megadva, az alap adatbázis alapértelmezett táblázat láthatósági szabályai érvényesek.

Ha a jelenlegi felhasználó rendelkezik egy megadott nevű táblával, akkor annak oszlopainak a tagja visszatér. Ha a tulajdonos nincs megadva, és a jelenlegi felhasználó nem birtokolja a megadott nevű táblát, ez az eljárás olyan táblát keres, amelyhez a megadott table_name az adatbázis tulajdonosa tartozik. Ha létezik ilyen, akkor a táblázat oszlopai visszakerülnek.

[ @table_qualifier = ] N'table_qualifier'

A táblázat selejtező neve. @table_qualifiera sysname, alapértelmezésként NULL. Különböző DBMS termékek háromrészes elnevezést támogatnak a táblákhoz (qualifier.owner.name). Az SQL Server esetében ez az oszlop az adatbázis nevét jelöli. Egyes termékekben ez a tábla adatbázis környezetének szervernevét képviseli.

[ @fUsePattern = ] fUsePattern

Meghatározza, hogy az aláhúzott (_), százalékos (%) és zárójel ([ vagy ]) jeljel jelek vadkártyás karakterként értelmezhetők-e. Érvényes értékek: 0 (a mintapárosítás nem működik) és 1 (a mintapárosítás bekapcsolva). @fUsePatternbit, alapértelmezés 1szerint .

Kódértékek visszaadása

Nincs.

Eredményhalmaz

Oszlop név Adattípus Description
TABLE_QUALIFIER sysname Táblázat kvalifikátor neve. Az SQL Server esetében ez az oszlop az adatbázis nevét jelöli. Ez a mező lehet NULL.
TABLE_OWNER sysname Az asztaltulajdonos neve. Ez a mező mindig értéket ad vissza.
TABLE_NAME sysname Tábla neve. Ez a mező mindig értéket ad vissza.
GRANTOR sysname Az adatbázis felhasználónev, amely TABLE_NAME jogosultságot adott erre a felsorolt GRANTEE. Az SQL Serverben ez az oszlop mindig ugyanaz, mint a TABLE_OWNER. Ez a mező mindig értéket ad vissza. Továbbá a GRANTOR oszlop lehet az adatbázis tulajdonosa (TABLE_OWNER) vagy egy olyan felhasználó, akinek az adatbázis tulajdonosa a kijelentés klauzulájának WITH GRANT OPTIONGRANT használatával adott engedélyt.
GRANTEE sysname Adatbázis felhasználónév, amelyet a felsorolt GRANTORszemélyek engedélyeztek erreTABLE_NAME. Az SQL Serverben ez az oszlop mindig tartalmaz egy adatbázis-felhasználót a sys.database_principalssystem nézetből. Ez a mező mindig értéket ad vissza.
PRIVILEGE sysname Az egyik elérhető táblaengedély. A táblaengedélyek lehetnek az alábbi értékek egyike (vagy más értékek, amelyeket az adatforrás támogat, amikor a megvalósítást definiálják):

SELECT = GRANTEE képes adatokat letölteni egy vagy több oszlop számára.

INSERT = GRANTEE adatokat szolgáltathat új sorokhoz egy vagy több oszlophoz.

UPDATE = GRANTEE módosíthatja az egyik vagy több oszlop meglévő adatait.

DELETE = GRANTEE eltávolíthatja a sorokat az asztalról.

REFERENCES = GRANTEE hivatkozhat egy oszlopra egy idegen táblában egy elsődleges kulcs/idegen kulcs kapcsolatban. Az SQL Serverben az elsődleges kulcs/idegen kulcs kapcsolatokat táblázatkorlátokkal definiálják.

Az adott tábla által adott jogosultság által adott cselekvési GRANTEE terület adatforrástól függ. Például a UPDATE jogosultság lehetővé GRANTEE teheti, hogy egy tábla összes oszlopát egy adatforráson frissítsék, és csak azokat az oszlopokat, amelyekhez UPDATEGRANTOR jogosult más adatforrásra.
IS_GRANTABLE sysname Jelzi, hogy engedélyezett-e GRANTEE más felhasználók számára engedélyek megadása (gyakran "engedélyezett engedély" jelzése). YESLehet , NOvagy NULL. Az ismeretlen (vagy NULL) érték olyan adatforrást jelent, amelyre a "támogatás támogatással" nem alkalmazható.

Megjegyzések

A sp_table_privileges tárolt eljárás ekvivalvana az SQLTablePrivileges ODBC-vel. A visszaadott eredményeket , TABLE_OWNER, TABLE_NAME, és PRIVILEGE. sorrendben TABLE_QUALIFIERrendezik.

Permissions

Engedély SELECT szükséges a sémához.

Példák

A következő példa minden olyan tábla esetében adja vissza a jogosultsági információkat, amelyek nevei a szóval Contactkezdődnek.

USE AdventureWorks2022;
GO

EXECUTE sp_table_privileges @table_name = 'Contact%';