Delen via


sp_column_privileges (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft kolomprivilege-informatie terug voor één enkele tabel in de huidige omgeving.

Transact-SQL syntaxis-conventies

Syntaxis

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'

De tabel die wordt gebruikt om catalogusinformatie terug te geven. @table_name is een systeemnaam, zonder standaard. Wildcard-patroonmatching wordt niet ondersteund.

[ @table_owner = ] N'table_owner'

De eigenaar van de tabel die gebruikt werd om catalogusinformatie terug te geven. @table_owner is sysname, met als standaard .NULL Wildcard-patroonmatching wordt niet ondersteund. Als @table_owner niet is gespecificeerd, gelden de standaard tabelzichtbaarheidsregels van het onderliggende databasebeheersysteem (DBMS).

Als de huidige gebruiker een tabel bezit met de opgegeven naam, worden de kolommen van die tabel teruggegeven. Als @table_owner niet is gespecificeerd en de huidige gebruiker geen tabel bezit met de opgegeven @table_name, sp_column zoekt Privileges naar een tabel met de gespecificeerde @table_name die eigendom is van de database-eigenaar. Als er een bestaat, worden de kolommen van die tabel teruggegeven.

[ @table_qualifier = ] N'table_qualifier'

De naam van de kwalificatiespeler op de tafel. @table_qualifier is sysname, met als standaard .NULL Verschillende DBMS-producten ondersteunen drieledige naamgeving voor tabellen (<qualifier>.<owner>.<name>). In SQL Server vertegenwoordigt deze kolom de databasenaam. In sommige producten vertegenwoordigt het de servernaam van de databaseomgeving van de tabel.

[ @column_name = ] N'column_name'

Een enkele kolom wordt gebruikt wanneer slechts één kolom catalogusinformatie wordt verkregen. @column_name is nvarchar(384), met een standaard van NULL. Als @column_name niet is gespecificeerd, worden alle kolommen teruggegeven. In SQL Server vertegenwoordigt @column_name de kolomnaam zoals vermeld in de sys.columns tabel. @column_name kan jokertekens opnemen met behulp van jokerovereenkomstpatronen van het onderliggende DBMS. Voor maximale interoperabiliteit moet de gateway-client alleen ISO-standaard patroonmatching aannemen (de en jokerkarakters %_ ).

Resultaatset

sp_column_privileges is gelijk aan SQLColumnPrivileges in ODBC. De teruggegeven resultaten zijn geordend door TABLE_QUALIFIER, TABLE_OWNER, , TABLE_NAME, COLUMN_NAMEen PRIVILEGE.

Kolomnaam Gegevenstype Description
TABLE_QUALIFIER sysname Naam van de kwalificatie in de tabel. Dit veld kan zijn NULL.
TABLE_OWNER sysname Naam van de tafeleigenaar. Dit veld geeft altijd een waarde terug.
TABLE_NAME sysname Tabelnaam. Dit veld geeft altijd een waarde terug.
COLUMN_NAME sysname Kolomnaam, voor elke kolom van de teruggestuurde kolom TABLE_NAME . Dit veld geeft altijd een waarde terug.
GRANTOR sysname Databasegebruikersnaam die hiervoor toestemming kreeg voor de COLUMN_NAME vermelde GRANTEE. In SQL Server is deze kolom altijd hetzelfde als de TABLE_OWNER. Dit veld geeft altijd een waarde terug.

De GRANTOR kolom kan zowel de database-eigenaar (TABLE_OWNER) zijn als een gebruiker aan wie de database-eigenaar rechten heeft verleend door gebruik te maken van de WITH GRANT OPTION clausule in de GRANT instructie.
GRANTEE sysname Databasegebruikersnaam die hiervoor toestemming COLUMN_NAME kreeg van de vermelde GRANTOR. In SQL Server bevat deze kolom altijd een databasegebruiker uit de sysusers tabel. Dit veld geeft altijd een waarde terug.
PRIVILEGE Varchar(32) Een van de beschikbare kolommachtigingen. Kolompermissies kunnen een van de volgende waarden zijn (of andere waarden die door de databron worden ondersteund wanneer de implementatie is gedefinieerd):

SELECT = GRANTEE kan gegevens voor de kolommen ophalen.
INSERT = GRANTEE kan gegevens voor deze kolom leveren wanneer nieuwe rijen worden ingevoegd (door de GRANTEE) in de tabel.
UPDATE = GRANTEE kan bestaande gegevens in de kolom wijzigen.
REFERENCES = GRANTEE kan een kolom in een vreemde tabel verwijzen in een primaire sleutel/vreemde sleutel-relatie. Primaire sleutel/vreemde sleutel-relaties worden gedefinieerd door gebruik te maken van tabelbeperkingen.
IS_GRANTABLE varchar(3) Geeft aan of de GRANTEE toestemming is om rechten aan andere gebruikers te verlenen (vaak aangeduid als "grant with grant" toestemming). De waarde kan YES, NOof NULL zijn. Een onbekende, of NULL, waarde verwijst naar een databron waarvoor "subsidie met subsidie" niet van toepassing is.

Opmerkingen

Met SQL Server worden de rechten met de GRANT instructie verleend en door de REVOKE instructie verwijderd.

Permissions

Vereist SELECT toestemming voor het schema.

Voorbeelden

Het volgende voorbeeld geeft kolomprivilege-informatie voor een specifieke kolom.

USE AdventureWorks2022;
GO

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