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


sp_column_privileges (Transact-SQL)

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

Egyetlen táblázat oszlopjogosultsági adatait adja vissza a jelenlegi környezetben.

Transact-SQL szintaxis konvenciók

Szemantika

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 = ] N'table_name'

A táblázat a katalógusinformáció visszaadására szolgált. @table_namea sysname, alapértelmezett nélkül. A wildcard mintás párosítás nem támogatott.

[ @table_owner = ] N'table_owner'

Az asztal tulajdonosa visszaküldte a katalógusinformációkat. @table_owner a sysname, alapértelmezettként NULL. A wildcard mintás párosítás nem támogatott. Ha @table_owner nincs megadva, akkor az alap adatbázis-kezelő rendszer (DBMS) alapértelmezett táblaláthatósági szabályai érvényesek.

Ha a jelenlegi felhasználó rendelkezik egy megadott nevű táblával, akkor az adott tábla oszlopai visszatérnek. Ha @table_owner nincs megadva, és a jelenlegi felhasználó nem rendelkezik a megadott @table_name táblával, sp_column a jogosultságok olyan táblát keresnek, amelyhez a megadott @table_name tartozik az adatbázis tulajdonosa. Ha létezik ilyen, akkor az adott 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ő adatbázis-alapú 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.

[ @column_name = ] N'column_name'

Egyetlen oszlop, amelyet akkor használnak, amikor csak egy katalógusinformációs oszlopot szereznek be. @column_namenvarchar(384), alapértelmezett NULLérték . Ha @column_name nincs megadva, minden oszlopot visszaküldenek. Az SQL Serverben @column_name a táblázatban felsorolt oszlopnevet sys.columns képviseli. @column_name tartalmazhatnak vadkártyás karaktereket az alapul szolgáló adatbázis kereső mintázataival. A maximális interoperabilitás érdekében a gateway kliensnek csak ISO szabványos mintázat-egyeztetést kell feltételeznie (a % és _ a vadkártya karaktereket).

Eredményhalmaz

sp_column_privilegesaz ODBC-vel egyenértékű.SQLColumnPrivileges A visszaadott eredményeket , TABLE_QUALIFIERTABLE_OWNER, TABLE_NAME, COLUMN_NAME, és PRIVILEGE.

Oszlop név Adattípus Description
TABLE_QUALIFIER sysname Táblázat kvalifikátor neve. 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.
COLUMN_NAME sysname Oszlop neve, minden visszatért TABLE_NAME oszlophoz. Ez a mező mindig értéket ad vissza.
GRANTOR sysname Az adatbázis felhasználói neve, amely jogosultságot COLUMN_NAME kapott erre a felsorolt GRANTEE. Az SQL Serverben ez az oszlop mindig ugyanaz, mint a TABLE_OWNER. Ez a mező mindig értéket ad vissza.

Az GRANTOR oszlop lehet az adatbázis tulajdonosa (TABLE_OWNER) vagy egy olyan felhasználó, akinek az adatbázis tulajdonosa a nyilatkozatban szereplő WITH GRANT OPTION záradék GRANT használatával adott engedélyeket.
GRANTEE sysname Az adatbázis felhasználói neve, amelyet COLUMN_NAME a felsorolt GRANTOR. Az SQL Serverben ez az oszlop mindig tartalmaz egy adatbázis-felhasználót a sysusers táblából. Ez a mező mindig értéket ad vissza.
PRIVILEGE Varchar(32) Az egyik elérhető oszlopengedély. Az oszlopjogosultságok lehetnek az alábbi értékek egyike (vagy más értékek, amelyeket az adatforrás támogat a megvalósítás definiálásakor is):

SELECT = GRANTEE Le tudja kérni az oszlopok adatait.
INSERT = GRANTEE adatokat szolgáltathat ehhez az oszlophoz, amikor új sorokat (a GRANTEE) helyeznek be a táblázatba.
UPDATE = GRANTEE módosíthatja az oszlopban meglévő adatokat.
REFERENCES = GRANTEE hivatkozhat egy oszlopra egy idegen táblában egy elsődleges kulcs/idegen kulcs kapcsolatban. Az elsődleges kulcs/idegen kulcs kapcsolatokat táblázatkorlátok alkalmazásával definiálják.
IS_GRANTABLE varchar(3) Jelzi, hogy engedélyezett-e GRANTEE más felhasználóknak is engedélyeket adni (gyakran "engedélyezett engedéllyel" néven emlegetik). YESLehet , NOvagy NULL. Az ismeretlen, vagyis NULL, érték olyan adatforrást jelent, amelyre a "támogatás támogatással" nem alkalmazható.

Megjegyzések

Az SQL Serverrel a jogosultságokat a GRANT kijelentéssel kapják, majd az utasítás REVOKE elveszi őket.

Permissions

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

Példák

A következő példa egy adott oszlop oszlopjogosultsági információját adja vissza.

USE AdventureWorks2022;
GO

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