sp_table_privileges (Transact-SQL)

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

Returnerar en lista med tabellbehörigheter (såsom INSERT, DELETE, UPDATE, SELECT, ) REFERENCESför den eller de angivna tabellerna.

Transact-SQL syntaxkonventioner

Syntax

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'

Tabellen som används för att returnera kataloginformation. @table_name är nvarchar(384), utan standard. Wildcard-mönstermatchning stöds.

[ @table_owner = ] N'table_owner'

Bordsägaren till tabellen används för att returnera kataloginformation. @table_owner är nvarchar(384), med en standard på NULL. Wildcard-mönstermatchning stöds. Om ägaren inte anges gäller standardreglerna för tabellsynlighet för den underliggande databasen.

Om den nuvarande användaren äger en tabell med det angivna namnet returneras kolumnerna i den tabellen. Om ägaren inte är specificerad och den nuvarande användaren inte äger en tabell med det angivna namnet, letar denna procedur efter en tabell med den angivna table_name som ägs av databasägaren. Om en sådan finns, returneras kolumnerna i den tabellen.

[ @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ö.

[ @fUsePattern = ] fUsePattern

Avgör om understrecket (_), procent (%) och parentesen ([ eller ]) tolkas som jokertecken. Giltiga värden är 0 (mönsterigenkänning är av) och 1 (mönstermatchning är på). @fUsePattern är bit, med standardvärdet .1

Returnera kodvärden

Ingen.

Resultatuppsättning

Kolumnnamn Datatyp Description
TABLE_QUALIFIER sysname Bordskvalificeringsnamn. I SQL Server representerar denna kolumn databasens namn. 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.
GRANTOR sysname Databasens användarnamn som har gett behörigheter på detta TABLE_NAME till den listade GRANTEE. I SQL Server är denna kolumn alltid densamma som .TABLE_OWNER Detta fält returnerar alltid ett värde. Dessutom kan kolumnen GRANTOR vara antingen databasägaren (TABLE_OWNER) eller en användare som databasägaren gav tillstånd genom att använda klausulen WITH GRANT OPTION i satsen GRANT .
GRANTEE sysname Databasanvändarnamn som har fått behörigheter för detta TABLE_NAME av de listade GRANTOR. I SQL Server inkluderar denna kolumn alltid en databasanvändare från vyn sys.database_principalssystem . Detta fält returnerar alltid ett värde.
PRIVILEGE sysname En av de tillgängliga tabellbehörigheterna. Tabellbehö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 en eller flera av kolumnerna.

INSERT = GRANTEE kan tillhandahålla data för nya rader för en eller flera av kolumnerna.

UPDATE = GRANTEE kan modifiera befintlig data för en eller flera av kolumnerna.

DELETE = GRANTEE kan ta bort rader från tabellen.

REFERENCES = GRANTEE kan referera till en kolumn i en främmande tabell i en primärnyckel/främmande nyckel-relation. I SQL Server definieras primärnyckel/främmande nyckel-relationer med tabellbegränsningar.

Den handlingsomfattning som ges GRANTEE av en given tabell är beroende av datakällan. Till exempel UPDATE kan privilegiet tillåta GRANTEE att alla kolumner i en tabell uppdateras på en datakälla och endast de kolumner för vilka den GRANTOR har UPDATE privilegium på en annan datakälla.
IS_GRANTABLE sysname Anger om det GRANTEE är tillåtet att ge behörigheter till andra användare (ofta kallat "bevilja med bevilja"-behörighet). Kan vara YES, NOeller NULL. Ett okänt (eller NULL) värde avser en datakälla där "bidrag med bidrag" inte är tillämpligt.

Anmärkningar

Den lagrade sp_table_privileges proceduren motsvarar SQLTablePrivileges den i ODBC. De returnerade resultaten är ordnade efter TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, och PRIVILEGE.

Permissions

Kräver SELECT tillstånd på schemat.

Examples

Följande exempel returnerar privilegieinformation om alla tabeller med namn som börjar med ordet Contact.

USE AdventureWorks2022;
GO

EXECUTE sp_table_privileges @table_name = 'Contact%';