sp_column_privileges (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Returnerar kolumnbehörighetsinformation för en enskild tabell i den aktuella miljön.

Transact-SQL syntaxkonventioner

Syntax

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'

Tabellen som används för att returnera kataloginformation. @table_name är sysname, utan standard. Wildcard-mönstermatchning stöds inte.

[ @table_owner = ] N'table_owner'

Ägaren till bordet brukade returnera kataloginformation. @table_owner är sysname, med standardvärdet .NULL Wildcard-mönstermatchning stöds inte. Om @table_owner inte specificeras gäller standardreglerna för tabellsynlighet i det underliggande databashanteringssystemet (DBMS).

Om den nuvarande användaren äger en tabell med det angivna namnet returneras tabellens kolumner. Om @table_owner inte är specificerat och den nuvarande användaren inte äger en tabell med angiven @table_name, sp_column letar Privilegier efter en tabell med den angivna @table_name som ägs av databasägaren. Om en sådan finns, returneras tabellens kolumner.

[ @table_qualifier = ] N'table_qualifier'

Namnet på bordets kvalificerade. @table_qualifier är sysname, med standardvärdet .NULL Olika DBMS-produkter stödjer tredelad namngivning för tabeller (<qualifier>.<owner>.<name>). I SQL Server representerar denna kolumn databasens namn. I vissa produkter representerar den servernamnet på tabellens databasmiljö.

[ @column_name = ] N'column_name'

En enda kolumn används när endast en kolumn med kataloginformation erhålls. @column_name är nvarchar(384), med en standard på NULL. Om @column_name inte anges returneras alla kolumner. I SQL Server representerar @column_name kolumnnamnet som anges i tabellen sys.columns . @column_name kan inkludera jokrartecken med jokartematchningsmönster i det underliggande DBMS. För maximal interoperabilitet bör gatewayklienten endast anta ISO-standardmönstermatchning (och %_ jokertecken).

Resultatuppsättning

sp_column_privileges motsvarar SQLColumnPrivileges i ODBC. De returnerade resultaten är ordnade efter TABLE_QUALIFIER, , , TABLE_NAMECOLUMN_NAME, och PRIVILEGETABLE_OWNER.

Kolumnnamn Datatyp Description
TABLE_QUALIFIER sysname Bordskvalificeringsnamn. Detta fält kan vara NULL.
TABLE_OWNER sysname Bordägarens namn. Detta fält returnerar alltid ett värde.
TABLE_NAME sysname Tabellnamn. Detta fält returnerar alltid ett värde.
COLUMN_NAME sysname Kolumnnamn, för varje kolumn i den TABLE_NAME returnerade. Detta fält returnerar alltid ett värde.
GRANTOR sysname Databasanvändarnamn som beviljades behörigheter för detta COLUMN_NAME till den listade GRANTEE. I SQL Server är denna kolumn alltid densamma som .TABLE_OWNER Detta fält returnerar alltid ett värde.

Kolumnen GRANTOR kan vara antingen databasägaren (TABLE_OWNER) eller en användare som databasägaren gav behörigheter genom att använda klausulen WITH GRANT OPTION i satsen GRANT .
GRANTEE sysname Databasanvändarnamn som beviljades behörigheter för detta COLUMN_NAME av den listade GRANTOR. I SQL Server inkluderar denna kolumn alltid en databasanvändare från tabellen sysusers . Detta fält returnerar alltid ett värde.
PRIVILEGE Varchar(32) En av de tillgängliga kolumnbehörigheterna. Kolumnbehörigheter kan vara ett av följande värden (eller andra värden som stöds av datakällan när implementeringen definieras):

SELECT = GRANTEE kan hämta data för kolumnerna.
INSERT = GRANTEE kan tillhandahålla data för denna kolumn när nya rader infogas (av GRANTEE) i tabellen.
UPDATE = GRANTEE kan modifiera befintlig data i kolumnen.
REFERENCES = GRANTEE kan referera till en kolumn i en främmande tabell i en primärnyckel/främmande nyckel-relation. Primärnyckel/främmande nyckel-relationer definieras genom att använda tabellbegränsningar.
IS_GRANTABLE varchar(3) Indikerar om den GRANTEE har rätt att ge behörigheter till andra användare (ofta kallad "grant with grant"-behörighet). Kan vara YES, NOeller NULL. Ett okänt värde, eller NULL, avser en datakälla där "bidrag med bidrag" inte är tillämpligt.

Anmärkningar

Med SQL Server ges behörigheter med satsen GRANT och tas bort av satsen REVOKE .

Permissions

Kräver SELECT tillstånd på schemat.

Examples

Följande exempel returnerar kolumnprivilegieinformation för en specifik kolumn.

USE AdventureWorks2022;
GO

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